From b7dcd397a426496cb9f961f2cb69152815cc169f Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 26 四月 2024 13:44:47 +0800
Subject: [PATCH] 核算报告功能实现
---
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateMoneyRuleVO.java | 41 ++
ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java | 4
ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java | 7
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java | 2
ycl-server/src/main/java/com/ycl/platform/mapper/CalculateMoneyRuleMapper.java | 62 ---
ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml | 94 +++++-
ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateMoneyRuleQuery.java | 23 +
ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java | 13
ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java | 158 +++++++---
/dev/null | 62 ----
ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateMoneyRuleForm.java | 47 +++
ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml | 31 -
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java | 11
ycl-server/src/main/java/com/ycl/platform/service/CalculateMoneyRuleService.java | 65 ++++
ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java | 17
ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateReportForm.java | 4
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportDetailVO.java | 59 ++++
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateReport.java | 2
ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java | 6
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateMoneyRule.java | 120 +------
20 files changed, 480 insertions(+), 348 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateMoneyRule.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateMoneyRule.java
index 9fba8f0..75073e6 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateMoneyRule.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateMoneyRule.java
@@ -1,110 +1,38 @@
package com.ycl.platform.domain.entity;
-import annotation.Excel;
-import com.ycl.system.domain.TreeEntity;
-import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.commons.lang.builder.ToStringStyle;
-
-import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ycl.platform.base.AbsEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
/**
- * 鏍哥畻瑙勫垯瀵硅薄 t_calculate_rule
+ * 閽辨牳绠楄鍒欒〃
*
- * @author ruoyi
- * @date 2024-04-03
+ * @author xp
+ * @since 2024-04-26
*/
-public class CalculateMoneyRule extends TreeEntity
-{
+@Data
+@Accessors(chain = true)
+@TableName("t_calculate_money_rule")
+@ApiModel(value = "CalculateMoneyRule瀵硅薄", description = "閽辨牳绠楄鍒欒〃")
+public class CalculateMoneyRule extends AbsEntity {
+
private static final long serialVersionUID = 1L;
- /** */
- private Long id;
+ @ApiModelProperty("鍚堝悓ID")
+ @TableField("contract_id")
+ private Integer contractId;
- /** */
- @Excel(name = "")
- private String name;
+ @ApiModelProperty("鍒嗘暟鏉′欢")
+ @TableField("score_condition")
+ private String scoreCondition;
- /** */
- @Excel(name = "")
- private Long templateId;
-
- /** 鍗曚綅id */
- @Excel(name = "鍗曚綅id")
- private Long unitId;
-
- /** 姣忓皯1%鎵e綋鏈堟�绘湇鍔¤垂鐨勫灏� */
- @Excel(name = "姣忓皯1%鎵e綋鏈堟�绘湇鍔¤垂鐨勫灏�")
- private BigDecimal value;
-
- /** $column.columnComment */
- @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ @ApiModelProperty("瑙勫垯鎻忚堪")
+ @TableField("description")
private String description;
- public void setId(Long id)
- {
- this.id = id;
- }
- public Long getId()
- {
- return id;
- }
- public void setName(String name)
- {
- this.name = name;
- }
-
- public String getName()
- {
- return name;
- }
- public void setTemplateId(Long templateId)
- {
- this.templateId = templateId;
- }
-
- public Long getTemplateId()
- {
- return templateId;
- }
- public void setUnitId(Long unitId)
- {
- this.unitId = unitId;
- }
-
- public Long getUnitId()
- {
- return unitId;
- }
- public void setValue(BigDecimal value)
- {
- this.value = value;
- }
-
- public BigDecimal getValue()
- {
- return value;
- }
- public void setDescription(String description)
- {
- this.description = description;
- }
-
- public String getDescription()
- {
- return description;
- }
-
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
- .append("id", getId())
- .append("name", getName())
- .append("templateId", getTemplateId())
- .append("parentId", getParentId())
- .append("unitId", getUnitId())
- .append("value", getValue())
- .append("description", getDescription())
- .toString();
- }
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateReport.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateReport.java
index 733a28d..fb44a73 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateReport.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateReport.java
@@ -46,7 +46,7 @@
@ApiModelProperty("淇敼浜�")
@TableField("update_by")
- private Long updateBy;
+ private String updateBy;
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateMoneyRuleForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateMoneyRuleForm.java
new file mode 100644
index 0000000..cb4aa2f
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateMoneyRuleForm.java
@@ -0,0 +1,47 @@
+package com.ycl.platform.domain.form;
+
+import com.ycl.system.domain.group.Update;
+import com.ycl.system.domain.group.Add;
+import com.ycl.platform.base.AbsForm;
+import com.ycl.platform.domain.entity.CalculateMoneyRule;
+import org.springframework.beans.BeanUtils;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import org.springframework.lang.NonNull;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * 閽辨牳绠楄鍒欒〃琛ㄥ崟
+ *
+ * @author xp
+ * @since 2024-04-26
+ */
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "CalculateMoneyRule琛ㄥ崟", description = "閽辨牳绠楄鍒欒〃琛ㄥ崟")
+public class CalculateMoneyRuleForm extends AbsForm {
+
+ @NotNull(message = "鍚堝悓ID涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("鍚堝悓ID")
+ private Integer contractId;
+
+ @NotBlank(message = "鍒嗘暟鏉′欢涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("鍒嗘暟鏉′欢")
+ private String scoreCondition;
+
+ @NotBlank(message = "瑙勫垯鎻忚堪涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @ApiModelProperty("瑙勫垯鎻忚堪")
+ private String description;
+
+ public static CalculateMoneyRule getEntityByForm(@NonNull CalculateMoneyRuleForm form, CalculateMoneyRule entity) {
+ if(entity == null) {
+ entity = new CalculateMoneyRule();
+ }
+ BeanUtils.copyProperties(form, entity);
+ return entity;
+ }
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateReportForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateReportForm.java
index 6c3a2ea..c5485b2 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateReportForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateReportForm.java
@@ -46,10 +46,6 @@
@ApiModelProperty("鍝湀鐨�")
private Integer whichMonth;
- @NotNull(message = "淇敼浜轰笉鑳戒负绌�", groups = {Add.class, Update.class})
- @ApiModelProperty("淇敼浜�")
- private Long updateBy;
-
public static CalculateReport getEntityByForm(@NonNull CalculateReportForm form, CalculateReport entity) {
if(entity == null) {
entity = new CalculateReport();
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateMoneyRuleQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateMoneyRuleQuery.java
new file mode 100644
index 0000000..ef74f40
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateMoneyRuleQuery.java
@@ -0,0 +1,23 @@
+package com.ycl.platform.domain.query;
+
+import com.ycl.platform.base.AbsQuery;
+import java.util.List;
+import org.springframework.lang.NonNull;
+import jakarta.validation.constraints.NotBlank;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * 閽辨牳绠楄鍒欒〃鏌ヨ
+ *
+ * @author xp
+ * @since 2024-04-26
+ */
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "CalculateMoneyRule鏌ヨ", description = "閽辨牳绠楄鍒欒〃鏌ヨ")
+public class CalculateMoneyRuleQuery extends AbsQuery {
+}
+
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateMoneyRuleVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateMoneyRuleVO.java
new file mode 100644
index 0000000..e8fe1e9
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateMoneyRuleVO.java
@@ -0,0 +1,41 @@
+package com.ycl.platform.domain.vo;
+
+import com.ycl.platform.base.AbsVo;
+import com.ycl.platform.domain.entity.CalculateMoneyRule;
+import java.util.List;
+import java.time.LocalDateTime;
+import org.springframework.lang.NonNull;
+import org.springframework.beans.BeanUtils;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * 閽辨牳绠楄鍒欒〃灞曠ず
+ *
+ * @author xp
+ * @since 2024-04-26
+ */
+@Data
+@Accessors(chain = true)
+public class CalculateMoneyRuleVO extends AbsVo {
+
+ /** 鍚堝悓ID */
+ private Integer contractId;
+
+ /** 鍒嗘暟鏉′欢 */
+ private String scoreCondition;
+
+ /** 瑙勫垯鎻忚堪 */
+ private String description;
+
+ public static CalculateMoneyRuleVO getVoByEntity(@NonNull CalculateMoneyRule entity, CalculateMoneyRuleVO vo) {
+ if(vo == null) {
+ vo = new CalculateMoneyRuleVO();
+ }
+ BeanUtils.copyProperties(entity, vo);
+ return vo;
+ }
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java
index 5817fb5..4870bf9 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java
@@ -22,18 +22,9 @@
@Data
public class CalculateRecordVO extends AbsVo {
- /** 鏍哥畻瑙勫垯 */
- private Integer ruleId;
- private String ruleName;
- /** 鎵e噺鏂瑰紡 */
- private String deductCategory;
- /** 瑙勫垯鎻忚堪 */
- private String ruleDesc;
- /** 瑙勫垯鏉′欢 */
- private String ruleCondition;
-
/** 鍚堝悓 */
private Integer contractId;
+
private String contractName;
/** 鎵e噺鏈嶅姟璐� */
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportDetailVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportDetailVO.java
new file mode 100644
index 0000000..7ba6405
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportDetailVO.java
@@ -0,0 +1,59 @@
+package com.ycl.platform.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ycl.platform.base.AbsVo;
+import com.ycl.platform.domain.entity.CalculateReport;
+import lombok.Data;
+import org.springframework.beans.BeanUtils;
+import org.springframework.lang.NonNull;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鏍哥畻鎶ュ憡灞曠ず
+ *
+ * @author xp
+ * @since 2024-04-23
+ */
+@Data
+public class CalculateReportDetailVO {
+
+ private Integer id;
+
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createTime;
+
+ /** 鍚堝悓 */
+ private Integer contractId;
+
+ /** 杩愮淮鍗曚綅 */
+ private String unitName;
+
+ /** 鍚堝悓鍚嶇О */
+ private String contractName;
+
+ /** 鏍哥畻鏃ユ湡 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private LocalDateTime calculateTime;
+
+ /** 鎵e噺鎬婚噾棰� */
+ private BigDecimal deductMoney;
+
+ /** 鏄庣粏 */
+ private List<CalculateRecordVO> recordList;
+
+ /** 鏍哥畻瑙勫垯 */
+ private List<CalculateMoneyRuleVO> ruleList;
+
+ public static CalculateReportDetailVO getVoByEntity(@NonNull CalculateReport entity, CalculateReportDetailVO vo) {
+ if(vo == null) {
+ vo = new CalculateReportDetailVO();
+ }
+ BeanUtils.copyProperties(entity, vo);
+ return vo;
+ }
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java
index 8a2caef..7560cef 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java
@@ -46,7 +46,7 @@
private Integer whichMonth;
/** 淇敼浜� */
- private Long updateBy;
+ private String updateBy;
/** 鏄庣粏 */
private List<CalculateRecordVO> recordList;
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/CalculateMoneyRuleController.java b/ycl-server/src/main/java/com/ycl/platform/controller/CalculateMoneyRuleController.java
deleted file mode 100644
index 55d06e1..0000000
--- a/ycl-server/src/main/java/com/ycl/platform/controller/CalculateMoneyRuleController.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.ycl.platform.controller;
-
-import annotation.Log;
-import com.ycl.platform.domain.entity.CalculateMoneyRule;
-import com.ycl.platform.service.ICalculateMoneyRuleService;
-import com.ycl.system.AjaxResult;
-import com.ycl.system.controller.BaseController;
-import com.ycl.utils.poi.ExcelUtil;
-import enumeration.BusinessType;
-import jakarta.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * 鏍哥畻瑙勫垯(閽�)Controller
- *
- * @author ruoyi
- * @date 2024-04-03
- */
-@RestController
-@RequestMapping("/calculate/money/rule")
-public class CalculateMoneyRuleController extends BaseController
-{
- @Autowired
- private ICalculateMoneyRuleService calculateRuleService;
-
- /**
- * 鏌ヨ鏍哥畻瑙勫垯鍒楄〃
- */
- @PreAuthorize("@ss.hasPermi('calculate:rule:list')")
- @GetMapping("/list")
- public AjaxResult list(CalculateMoneyRule calculateMoneyRule)
- {
- List<CalculateMoneyRule> list = calculateRuleService.selectCalculateRuleList(calculateMoneyRule);
- return success(list);
- }
-
- /**
- * 瀵煎嚭鏍哥畻瑙勫垯鍒楄〃
- */
- @PreAuthorize("@ss.hasPermi('calculate:rule:export')")
- @Log(title = "鏍哥畻瑙勫垯", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(HttpServletResponse response, CalculateMoneyRule calculateMoneyRule)
- {
- List<CalculateMoneyRule> list = calculateRuleService.selectCalculateRuleList(calculateMoneyRule);
- ExcelUtil<CalculateMoneyRule> util = new ExcelUtil<CalculateMoneyRule>(CalculateMoneyRule.class);
- util.exportExcel(response, list, "鏍哥畻瑙勫垯鏁版嵁");
- }
-
- /**
- * 鑾峰彇鏍哥畻瑙勫垯璇︾粏淇℃伅
- */
- @PreAuthorize("@ss.hasPermi('calculate:rule:query')")
- @GetMapping(value = "/{id}")
- public AjaxResult getInfo(@PathVariable("id") Long id)
- {
- return success(calculateRuleService.selectCalculateRuleById(id));
- }
-
- /**
- * 鏂板鏍哥畻瑙勫垯
- */
- @PreAuthorize("@ss.hasPermi('calculate:rule:add')")
- @Log(title = "鏍哥畻瑙勫垯", businessType = BusinessType.INSERT)
- @PostMapping
- public AjaxResult add(@RequestBody CalculateMoneyRule calculateMoneyRule)
- {
- return toAjax(calculateRuleService.insertCalculateRule(calculateMoneyRule));
- }
-
- /**
- * 淇敼鏍哥畻瑙勫垯
- */
- @PreAuthorize("@ss.hasPermi('calculate:rule:edit')")
- @Log(title = "鏍哥畻瑙勫垯", businessType = BusinessType.UPDATE)
- @PutMapping
- public AjaxResult edit(@RequestBody CalculateMoneyRule calculateMoneyRule)
- {
- return toAjax(calculateRuleService.updateCalculateRule(calculateMoneyRule));
- }
-
- /**
- * 鍒犻櫎鏍哥畻瑙勫垯
- */
- @PreAuthorize("@ss.hasPermi('calculate:rule:remove')")
- @Log(title = "鏍哥畻瑙勫垯", businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}")
- public AjaxResult remove(@PathVariable Long[] ids)
- {
- return toAjax(calculateRuleService.deleteCalculateRuleByIds(ids));
- }
-}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java b/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java
index 14c68e7..2473c04 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java
@@ -59,7 +59,7 @@
return calculateReportService.page(query);
}
- @GetMapping("/backfill/money")
+ @PostMapping("/backfill/money")
@ApiOperation(value = "鍥炲~鎵f閲戦", notes = "鍥炲~鎵f閲戦")
@PreAuthorize("@ss.hasPermi('system:calculate:report:backfill')")
public Result backfill(@Validated @RequestBody CalculateReportBackfillForm form) {
@@ -69,7 +69,7 @@
@GetMapping("/{id}")
@ApiOperation(value = "璇︽儏", notes = "璇︽儏")
@PreAuthorize("@ss.hasPermi('system:calculate:report:detail')")
- public Result detail(@PathVariable("id") String id) {
+ public Result detail(@PathVariable("id") Long id) {
return calculateReportService.detail(id);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateMoneyRuleMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateMoneyRuleMapper.java
index 71952d6..c989b85 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateMoneyRuleMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateMoneyRuleMapper.java
@@ -1,63 +1,19 @@
package com.ycl.platform.mapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.platform.domain.entity.CalculateMoneyRule;
-
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.platform.domain.vo.CalculateMoneyRuleVO;
+import com.ycl.platform.domain.form.CalculateMoneyRuleForm;
import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
/**
- * 鏍哥畻瑙勫垯Mapper鎺ュ彛
+ * 閽辨牳绠楄鍒欒〃 Mapper 鎺ュ彛
*
- * @author ruoyi
- * @date 2024-04-03
+ * @author xp
+ * @since 2024-04-26
*/
-public interface CalculateMoneyRuleMapper extends BaseMapper<CalculateMoneyRule>
-{
- /**
- * 鏌ヨ鏍哥畻瑙勫垯
- *
- * @param id 鏍哥畻瑙勫垯涓婚敭
- * @return 鏍哥畻瑙勫垯
- */
- public CalculateMoneyRule selectCalculateRuleById(Long id);
+@Mapper
+public interface CalculateMoneyRuleMapper extends BaseMapper<CalculateMoneyRule> {
- /**
- * 鏌ヨ鏍哥畻瑙勫垯鍒楄〃
- *
- * @param calculateMoneyRule 鏍哥畻瑙勫垯
- * @return 鏍哥畻瑙勫垯闆嗗悎
- */
- public List<CalculateMoneyRule> selectCalculateRuleList(CalculateMoneyRule calculateMoneyRule);
-
- /**
- * 鏂板鏍哥畻瑙勫垯
- *
- * @param calculateMoneyRule 鏍哥畻瑙勫垯
- * @return 缁撴灉
- */
- public int insertCalculateRule(CalculateMoneyRule calculateMoneyRule);
-
- /**
- * 淇敼鏍哥畻瑙勫垯
- *
- * @param calculateMoneyRule 鏍哥畻瑙勫垯
- * @return 缁撴灉
- */
- public int updateCalculateRule(CalculateMoneyRule calculateMoneyRule);
-
- /**
- * 鍒犻櫎鏍哥畻瑙勫垯
- *
- * @param id 鏍哥畻瑙勫垯涓婚敭
- * @return 缁撴灉
- */
- public int deleteCalculateRuleById(Long id);
-
- /**
- * 鎵归噺鍒犻櫎鏍哥畻瑙勫垯
- *
- * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
- * @return 缁撴灉
- */
- public int deleteCalculateRuleByIds(Long[] ids);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java
index eaa9c91..08a00f2 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java
@@ -19,11 +19,4 @@
@Mapper
public interface CalculateRecordMapper extends BaseMapper<CalculateRecord> {
- /**
- * 鏍煎眬鍚堝悓ID鑾峰彇鏄庣粏
- *
- * @param contractId 鍚堝悓ID
- * @return
- */
- List<CalculateRecordVO> getByContractId(@Param("contractId") Integer contractId);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
index 169f45e..b8d17a4 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
@@ -4,6 +4,8 @@
import com.ycl.platform.domain.entity.CalculateReport;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.platform.domain.query.CalculateReportQuery;
+import com.ycl.platform.domain.vo.CalculateRecordVO;
+import com.ycl.platform.domain.vo.CalculateReportDetailVO;
import com.ycl.platform.domain.vo.CalculateReportVO;
import com.ycl.platform.domain.form.CalculateReportForm;
import java.util.List;
@@ -25,5 +27,14 @@
* @param query
* @param page
*/
- void page(@Param("query") CalculateReportQuery query, IPage<CalculateReportVO> page);
+ IPage page(@Param("query") CalculateReportQuery query, IPage<CalculateReportVO> page);
+
+
+ /**
+ * 鏍规嵁ID鑾峰彇鏄庣粏
+ *
+ * @param id 鏍哥畻ID
+ * @return
+ */
+ CalculateReportDetailVO getById(@Param("id") Long id);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/CalculateMoneyRuleService.java b/ycl-server/src/main/java/com/ycl/platform/service/CalculateMoneyRuleService.java
new file mode 100644
index 0000000..d67e2f2
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/platform/service/CalculateMoneyRuleService.java
@@ -0,0 +1,65 @@
+package com.ycl.platform.service;
+
+import com.ycl.platform.domain.entity.CalculateMoneyRule;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.system.Result;
+import com.ycl.platform.domain.form.CalculateMoneyRuleForm;
+import com.ycl.platform.domain.query.CalculateMoneyRuleQuery;
+import java.util.List;
+
+/**
+ * 閽辨牳绠楄鍒欒〃 鏈嶅姟绫�
+ *
+ * @author xp
+ * @since 2024-04-26
+ */
+public interface CalculateMoneyRuleService extends IService<CalculateMoneyRule> {
+
+ /**
+ * 娣诲姞
+ * @param form
+ * @return
+ */
+ Result add(CalculateMoneyRuleForm form);
+
+ /**
+ * 淇敼
+ * @param form
+ * @return
+ */
+ Result update(CalculateMoneyRuleForm form);
+
+ /**
+ * 鎵归噺鍒犻櫎
+ * @param ids
+ * @return
+ */
+ Result remove(List<String> ids);
+
+ /**
+ * id鍒犻櫎
+ * @param id
+ * @return
+ */
+ Result removeById(String id);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ * @param query
+ * @return
+ */
+ Result page(CalculateMoneyRuleQuery query);
+
+ /**
+ * 鏍规嵁id鏌ユ壘
+ * @param id
+ * @return
+ */
+ Result detail(String id);
+
+ /**
+ * 鍒楄〃
+ * @return
+ */
+ Result all();
+}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java b/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java
index 1b79a79..9a8933f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java
@@ -35,14 +35,14 @@
* @param ids
* @return
*/
- Result remove(List<String> ids);
+ Result remove(List<Long> ids);
/**
* id鍒犻櫎
* @param id
* @return
*/
- Result removeById(String id);
+ Result removeById(Long id);
/**
* 鍒嗛〉鏌ヨ
@@ -56,7 +56,7 @@
* @param id
* @return
*/
- Result detail(String id);
+ Result detail(Long id);
/**
* 鍒楄〃
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ICalculateMoneyRuleService.java b/ycl-server/src/main/java/com/ycl/platform/service/ICalculateMoneyRuleService.java
deleted file mode 100644
index 60b0ba6..0000000
--- a/ycl-server/src/main/java/com/ycl/platform/service/ICalculateMoneyRuleService.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.ycl.platform.service;
-
-import com.ycl.platform.domain.entity.CalculateMoneyRule;
-
-import java.util.List;
-
-/**
- * 鏍哥畻瑙勫垯Service鎺ュ彛
- *
- * @author ruoyi
- * @date 2024-04-03
- */
-public interface ICalculateMoneyRuleService
-{
- /**
- * 鏌ヨ鏍哥畻瑙勫垯
- *
- * @param id 鏍哥畻瑙勫垯涓婚敭
- * @return 鏍哥畻瑙勫垯
- */
- public CalculateMoneyRule selectCalculateRuleById(Long id);
-
- /**
- * 鏌ヨ鏍哥畻瑙勫垯鍒楄〃
- *
- * @param calculateMoneyRule 鏍哥畻瑙勫垯
- * @return 鏍哥畻瑙勫垯闆嗗悎
- */
- public List<CalculateMoneyRule> selectCalculateRuleList(CalculateMoneyRule calculateMoneyRule);
-
- /**
- * 鏂板鏍哥畻瑙勫垯
- *
- * @param calculateMoneyRule 鏍哥畻瑙勫垯
- * @return 缁撴灉
- */
- public int insertCalculateRule(CalculateMoneyRule calculateMoneyRule);
-
- /**
- * 淇敼鏍哥畻瑙勫垯
- *
- * @param calculateMoneyRule 鏍哥畻瑙勫垯
- * @return 缁撴灉
- */
- public int updateCalculateRule(CalculateMoneyRule calculateMoneyRule);
-
- /**
- * 鎵归噺鍒犻櫎鏍哥畻瑙勫垯
- *
- * @param ids 闇�瑕佸垹闄ょ殑鏍哥畻瑙勫垯涓婚敭闆嗗悎
- * @return 缁撴灉
- */
- public int deleteCalculateRuleByIds(Long[] ids);
-
- /**
- * 鍒犻櫎鏍哥畻瑙勫垯淇℃伅
- *
- * @param id 鏍哥畻瑙勫垯涓婚敭
- * @return 缁撴灉
- */
- public int deleteCalculateRuleById(Long id);
-}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java
index 62567e2..df1a3a5 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java
@@ -1,95 +1,145 @@
package com.ycl.platform.service.impl;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.entity.CalculateMoneyRule;
import com.ycl.platform.mapper.CalculateMoneyRuleMapper;
-import com.ycl.platform.service.ICalculateMoneyRuleService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
+import com.ycl.platform.service.CalculateMoneyRuleService;
+import com.ycl.system.Result;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.platform.domain.form.CalculateMoneyRuleForm;
+import com.ycl.platform.domain.vo.CalculateMoneyRuleVO;
+import com.ycl.platform.domain.query.CalculateMoneyRuleQuery;
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ycl.system.page.PageUtil;
+import org.springframework.stereotype.Service;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.beans.BeanUtils;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
+import java.util.ArrayList;
+import java.util.stream.Collectors;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import lombok.RequiredArgsConstructor;
/**
- * 鏍哥畻瑙勫垯Service涓氬姟灞傚鐞�
+ * 閽辨牳绠楄鍒欒〃 鏈嶅姟瀹炵幇绫�
*
- * @author ruoyi
- * @date 2024-04-03
+ * @author xp
+ * @since 2024-04-26
*/
@Service
-public class CalculateMoneyRuleServiceImpl extends ServiceImpl<CalculateMoneyRuleMapper, CalculateMoneyRule> implements ICalculateMoneyRuleService
-{
- @Autowired
- private CalculateMoneyRuleMapper calculateMoneyRuleMapper;
+@RequiredArgsConstructor
+public class CalculateMoneyRuleServiceImpl extends ServiceImpl<CalculateMoneyRuleMapper, CalculateMoneyRule> implements CalculateMoneyRuleService {
+
+ private final CalculateMoneyRuleMapper calculateMoneyRuleMapper;
/**
- * 鏌ヨ鏍哥畻瑙勫垯
- *
- * @param id 鏍哥畻瑙勫垯涓婚敭
- * @return 鏍哥畻瑙勫垯
+ * 娣诲姞
+ * @param form
+ * @return
*/
@Override
- public CalculateMoneyRule selectCalculateRuleById(Long id)
- {
- return calculateMoneyRuleMapper.selectCalculateRuleById(id);
+ public Result add(CalculateMoneyRuleForm form) {
+ CalculateMoneyRule entity = CalculateMoneyRuleForm.getEntityByForm(form, null);
+ if(baseMapper.insert(entity) > 0) {
+ return Result.ok("娣诲姞鎴愬姛");
+ }
+ return Result.error("娣诲姞澶辫触");
}
/**
- * 鏌ヨ鏍哥畻瑙勫垯鍒楄〃
- *
- * @param calculateMoneyRule 鏍哥畻瑙勫垯
- * @return 鏍哥畻瑙勫垯
+ * 淇敼
+ * @param form
+ * @return
*/
@Override
- public List<CalculateMoneyRule> selectCalculateRuleList(CalculateMoneyRule calculateMoneyRule)
- {
- return calculateMoneyRuleMapper.selectCalculateRuleList(calculateMoneyRule);
+ public Result update(CalculateMoneyRuleForm form) {
+
+ CalculateMoneyRule entity = baseMapper.selectById(form.getId());
+
+ // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
+ Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
+ BeanUtils.copyProperties(form, entity);
+ if (baseMapper.updateById(entity) > 0) {
+ return Result.ok("淇敼鎴愬姛");
+ }
+ return Result.error("淇敼澶辫触");
}
/**
- * 鏂板鏍哥畻瑙勫垯
- *
- * @param calculateMoneyRule 鏍哥畻瑙勫垯
- * @return 缁撴灉
+ * 鎵归噺鍒犻櫎
+ * @param ids
+ * @return
*/
@Override
- public int insertCalculateRule(CalculateMoneyRule calculateMoneyRule)
- {
- return calculateMoneyRuleMapper.insertCalculateRule(calculateMoneyRule);
+ public Result remove(List<String> ids) {
+ if(baseMapper.deleteBatchIds(ids) > 0) {
+ return Result.ok("鍒犻櫎鎴愬姛");
+ }
+ return Result.error("鍒犻櫎澶辫触");
}
/**
- * 淇敼鏍哥畻瑙勫垯
- *
- * @param calculateMoneyRule 鏍哥畻瑙勫垯
- * @return 缁撴灉
+ * id鍒犻櫎
+ * @param id
+ * @return
*/
@Override
- public int updateCalculateRule(CalculateMoneyRule calculateMoneyRule)
- {
- return calculateMoneyRuleMapper.updateCalculateRule(calculateMoneyRule);
+ public Result removeById(String id) {
+ if(baseMapper.deleteById(id) > 0) {
+ return Result.ok("鍒犻櫎鎴愬姛");
+ }
+ return Result.error("鍒犻櫎澶辫触");
}
/**
- * 鎵归噺鍒犻櫎鏍哥畻瑙勫垯
- *
- * @param ids 闇�瑕佸垹闄ょ殑鏍哥畻瑙勫垯涓婚敭
- * @return 缁撴灉
+ * 鍒嗛〉鏌ヨ
+ * @param query
+ * @return
*/
@Override
- public int deleteCalculateRuleByIds(Long[] ids)
- {
- return calculateMoneyRuleMapper.deleteCalculateRuleByIds(ids);
+ public Result page(CalculateMoneyRuleQuery query) {
+
+ IPage<CalculateMoneyRule> page = new LambdaQueryChainWrapper<>(baseMapper)
+ .orderByDesc(CalculateMoneyRule::getCreateTime)
+ .page(PageUtil.getPage(query, CalculateMoneyRule.class));
+
+ List<CalculateMoneyRuleVO> vos = page.getRecords().stream()
+ .map(
+ entity -> CalculateMoneyRuleVO.getVoByEntity(entity, null)
+ )
+ .collect(Collectors.toList());
+ return Result.ok().data(vos).total(page.getTotal());
}
/**
- * 鍒犻櫎鏍哥畻瑙勫垯淇℃伅
- *
- * @param id 鏍哥畻瑙勫垯涓婚敭
- * @return 缁撴灉
+ * 鏍规嵁id鏌ユ壘
+ * @param id
+ * @return
*/
@Override
- public int deleteCalculateRuleById(Long id)
- {
- return calculateMoneyRuleMapper.deleteCalculateRuleById(id);
+ public Result detail(String id) {
+
+ CalculateMoneyRule entity = baseMapper.selectById(id);
+ Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
+ CalculateMoneyRuleVO vo = CalculateMoneyRuleVO.getVoByEntity(entity, null);
+ return Result.ok().data(vo);
+ }
+
+ /**
+ * 鍒楄〃
+ * @return
+ */
+ @Override
+ public Result all() {
+ List<CalculateMoneyRule> entities = baseMapper.selectList(null);
+ List<CalculateMoneyRuleVO> vos = entities.stream()
+ .map(
+ entity -> CalculateMoneyRuleVO.getVoByEntity(entity, null)
+ )
+ .collect(Collectors.toList());
+ return Result.ok().data(vos);
}
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
index 99edde0..ee26421 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
@@ -5,6 +5,7 @@
import com.ycl.platform.domain.entity.CalculateReport;
import com.ycl.platform.domain.form.CalculateReportBackfillForm;
import com.ycl.platform.domain.vo.CalculateRecordVO;
+import com.ycl.platform.domain.vo.CalculateReportDetailVO;
import com.ycl.platform.mapper.CalculateRecordMapper;
import com.ycl.platform.mapper.CalculateReportMapper;
import com.ycl.platform.service.CalculateReportService;
@@ -16,6 +17,8 @@
import java.math.BigDecimal;
import java.util.List;
+
+import com.ycl.utils.SecurityUtils;
import org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.system.page.PageUtil;
@@ -83,7 +86,7 @@
* @return
*/
@Override
- public Result remove(List<String> ids) {
+ public Result remove(List<Long> ids) {
if(baseMapper.deleteBatchIds(ids) > 0) {
return Result.ok("鍒犻櫎鎴愬姛");
}
@@ -96,7 +99,7 @@
* @return
*/
@Override
- public Result removeById(String id) {
+ public Result removeById(Long id) {
if(baseMapper.deleteById(id) > 0) {
return Result.ok("鍒犻櫎鎴愬姛");
}
@@ -121,14 +124,10 @@
* @return
*/
@Override
- public Result detail(String id) {
- CalculateReport entity = baseMapper.selectById(id);
- Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
- CalculateReportVO vo = CalculateReportVO.getVoByEntity(entity, null);
+ public Result detail(Long id) {
// 鏄庣粏鍒楄〃
- List<CalculateRecordVO> recordList = calculateRecordMapper.getByContractId(entity.getContractId());
- vo.setRecordList(recordList);
- return Result.ok().data(vo);
+ CalculateReportDetailVO detail = baseMapper.getById(id);
+ return Result.ok().data(detail);
}
/**
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml
index 36c6cf7..b8944a7 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml
@@ -3,34 +3,17 @@
<mapper namespace="com.ycl.platform.mapper.CalculateRecordMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.CalculateRecordVO">
+ <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.CalculateReportDetailVO">
<result column="id" property="id" />
<result column="create_time" property="createTime" />
- <result column="rule_id" property="ruleId" />
- <result column="rule_name" property="ruleName" />
- <result column="deduct_category" property="deductCategory" />
- <result column="rule_condition" property="ruleCondition" />
- <result column="rule_desc" property="ruleDesc" />
+ <result column="deduct_category" property="unitName" />
+ <result column="score_condition" property="contractName" />
+ <result column="description" property="calculateTime" />
<result column="deduct_money" property="deductMoney" />
- <result column="score" property="score" />
+ <result column="score" property="deductMoney" />
+ <collection property="recordList" column="contract_id" select="selectByContractId" ofType="com.ycl.platform.domain.vo.CalculateMoneyRuleVO"/>
</resultMap>
- <select id="getByContractId" resultMap="BaseResultMap">
- SELECT
- tcr.id,
- tcr.create_time,
- tcr.deduct_money,
- tcr.score,
- tcr.rule_id,
- tcru.rule_name,
- tcru.deduct_category,
- tcru.rule_desc,
- tcru.rule_condition
- FROM
- t_calculate_record tcr
- INNER JOIN t_calculate_rule tcru ON tcr.rule_id = tcru.id AND tcr.contract_id = #{contractId}
- WHERE
- tcru.deleted = 0 AND tcr.deleted = 0
- </select>
+
</mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
index 3af6b52..1bf3060 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
@@ -4,37 +4,89 @@
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
<resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.CalculateReportVO">
- <result column="id" property="id" />
- <result column="create_time" property="createTime" />
- <result column="unit_name" property="unitName" />
- <result column="name" property="contractName" />
- <result column="contract_id" property="contractId" />
- <result column="calculate_time" property="calculateTime" />
- <result column="deduct_money" property="deductMoney" />
- <result column="which_year" property="whichYear" />
- <result column="which_month" property="whichMonth" />
- <result column="update_by" property="updateBy" />
+ <result column="id" property="id"/>
+ <result column="create_time" property="createTime"/>
+ <result column="unit_name" property="unitName"/>
+ <result column="name" property="contractName"/>
+ <result column="contract_id" property="contractId"/>
+ <result column="calculate_time" property="calculateTime"/>
+ <result column="deduct_money" property="deductMoney"/>
+ <result column="which_year" property="whichYear"/>
+ <result column="which_month" property="whichMonth"/>
+ <result column="update_by" property="updateBy"/>
</resultMap>
<select id="page" resultMap="BaseResultMap">
SELECT
- tyu.unit_name,
- tc.name,
- tcr.id,
- tcr.deduct_money,
- tcr.create_time,
- tcr.update_time,
- tcr.calculate_time
+ tyu.unit_name,
+ tc.name,
+ tcr.id,
+ tcr.deduct_money,
+ tcr.create_time,
+ tcr.update_time,
+ tcr.calculate_time,
+ tcr.which_year,
+ tcr.which_month
FROM
- t_calculate_report tcr
- INNER JOIN t_contract tc ON tcr.contract_id = tc.id
- INNER JOIN t_yw_unit tyu ON tyu.id = tc.unit_id
+ t_calculate_report tcr
+ INNER JOIN t_contract tc ON tcr.contract_id = tc.id
+ INNER JOIN t_yw_unit tyu ON tyu.id = tc.unit_id
<where>
- AND tcr.deleted = 0 AND tc.deleted = 0 AND tyu.deleted = 0
+ AND tcr.deleted = 0 AND tc.deleted = 0 AND tyu.deleted = 0
<if test="query.unitName != null and query.unitName != '' ">
AND tyu.unit_name like concat('%', #{query.unitName}, '%')
</if>
</where>
</select>
+ <resultMap id="DetailResultMap" type="com.ycl.platform.domain.vo.CalculateReportDetailVO">
+ <result column="id" property="id"/>
+ <result column="create_time" property="createTime"/>
+ <result column="unit_name" property="unitName"/>
+ <result column="name" property="contractName"/>
+ <result column="contract_id" property="contractId"/>
+ <result column="calculate_time" property="calculateTime"/>
+ <result column="deduct_money" property="deductMoney"/>
+ <collection property="ruleList" column="contract_id" ofType="com.ycl.platform.domain.vo.CalculateMoneyRuleVO"
+ select="selectRuleByContractId"/>
+ <collection property="recordList" column="contract_id" ofType="com.ycl.platform.domain.vo.CalculateRecordVO"
+ select="selectRecordByContractId"/>
+ </resultMap>
+
+ <select id="selectRuleByContractId" resultType="com.ycl.platform.domain.vo.CalculateMoneyRuleVO">
+ SELECT id,
+ description,
+ score_condition as scoreCondition
+ FROM t_calculate_money_rule
+ WHERE contract_id = #{contractId}
+ AND deleted = 0
+ </select>
+
+ <select id="selectRecordByContractId" resultType="com.ycl.platform.domain.vo.CalculateRecordVO">
+ SELECT
+ id,
+ create_time as createTime,
+ score,
+ deduct_money as deductMoney
+ FROM
+ t_calculate_record
+ WHERE
+ contract_id = #{contractId} AND deleted = 0
+ </select>
+
+ <select id="getById" resultMap="DetailResultMap">
+ SELECT tyu.unit_name,
+ tc.name,
+ tcr.id,
+ tcr.contract_id,
+ tcr.deduct_money,
+ tcr.create_time,
+ tcr.update_time,
+ tcr.calculate_time
+ FROM t_calculate_report tcr
+ INNER JOIN t_contract tc ON tcr.contract_id = tc.id
+ INNER JOIN t_yw_unit tyu ON tyu.id = tc.unit_id
+ WHERE tcr.id = #{id}
+ </select>
+
</mapper>
--
Gitblit v1.8.0