From 4cfc5f4240178a8efe5d44eee527ce1c626c6c64 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 18 Jan 2024 17:46:40 +0800
Subject: [PATCH] 物业评级
---
src/main/java/org/springblade/modules/answerRecord/entity/AnswerRecordEntity.java | 3
src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.xml | 12 ++
src/main/java/org/springblade/modules/answerRecord/controller/AnswerRecordController.java | 6 +
src/main/java/org/springblade/modules/answerRecord/service/impl/AnswerRecordServiceImpl.java | 76 +++++++++++++++++++
src/main/java/org/springblade/modules/subjectChoices/controller/SubjectChoicesController.java | 12 ++-
src/main/java/org/springblade/modules/subjectOption/vo/SubjectOptionVO.java | 5 +
src/main/java/org/springblade/modules/answerRecord/service/IAnswerRecordService.java | 3
src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java | 78 ++++++++++++++++++-
src/main/java/org/springblade/modules/subjectChoices/vo/SubjectChoicesVO.java | 10 ++
9 files changed, 190 insertions(+), 15 deletions(-)
diff --git a/src/main/java/org/springblade/modules/answerRecord/controller/AnswerRecordController.java b/src/main/java/org/springblade/modules/answerRecord/controller/AnswerRecordController.java
index f323e18..5f6af89 100644
--- a/src/main/java/org/springblade/modules/answerRecord/controller/AnswerRecordController.java
+++ b/src/main/java/org/springblade/modules/answerRecord/controller/AnswerRecordController.java
@@ -31,9 +31,11 @@
import org.springblade.modules.answerRecord.service.IAnswerRecordService;
import org.springblade.modules.answerRecord.vo.AnswerRecordVO;
import org.springblade.modules.answerRecord.wrapper.AnswerRecordWrapper;
+import org.springblade.modules.subjectChoices.vo.SubjectChoicesVO;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
+import java.util.List;
/**
* 答题记录表 控制器
@@ -108,8 +110,8 @@
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入answerRecord")
- public R submit(@Valid @RequestBody AnswerRecordEntity answerRecord) {
- return R.status(answerRecordService.saveOrUpdate(answerRecord));
+ public R submit(@Valid @RequestBody List<SubjectChoicesVO> subjectChoicesList) {
+ return R.status(answerRecordService.saveAnswer(subjectChoicesList));
}
/**
diff --git a/src/main/java/org/springblade/modules/answerRecord/entity/AnswerRecordEntity.java b/src/main/java/org/springblade/modules/answerRecord/entity/AnswerRecordEntity.java
index f76e902..a1282fd 100644
--- a/src/main/java/org/springblade/modules/answerRecord/entity/AnswerRecordEntity.java
+++ b/src/main/java/org/springblade/modules/answerRecord/entity/AnswerRecordEntity.java
@@ -111,4 +111,7 @@
@TableField("create_time")
private Date createTime;
+ @TableField("delete_flage")
+ private Integer deleteFlage;
+
}
diff --git a/src/main/java/org/springblade/modules/answerRecord/service/IAnswerRecordService.java b/src/main/java/org/springblade/modules/answerRecord/service/IAnswerRecordService.java
index b53fda2..ed0e423 100644
--- a/src/main/java/org/springblade/modules/answerRecord/service/IAnswerRecordService.java
+++ b/src/main/java/org/springblade/modules/answerRecord/service/IAnswerRecordService.java
@@ -21,6 +21,7 @@
import org.springblade.modules.answerRecord.dto.AnswerRecordDTO;
import org.springblade.modules.answerRecord.entity.AnswerRecordEntity;
import org.springblade.modules.answerRecord.vo.AnswerRecordVO;
+import org.springblade.modules.subjectChoices.vo.SubjectChoicesVO;
import java.util.List;
@@ -56,4 +57,6 @@
* @return 答题记录表集合
*/
List<AnswerRecordDTO> selectAnswerRecordList(AnswerRecordDTO answerRecordDTO);
+
+ Boolean saveAnswer(List<SubjectChoicesVO> subjectChoicesVO);
}
diff --git a/src/main/java/org/springblade/modules/answerRecord/service/impl/AnswerRecordServiceImpl.java b/src/main/java/org/springblade/modules/answerRecord/service/impl/AnswerRecordServiceImpl.java
index f0be066..a42861f 100644
--- a/src/main/java/org/springblade/modules/answerRecord/service/impl/AnswerRecordServiceImpl.java
+++ b/src/main/java/org/springblade/modules/answerRecord/service/impl/AnswerRecordServiceImpl.java
@@ -17,14 +17,22 @@
package org.springblade.modules.answerRecord.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.utils.SpringUtils;
import org.springblade.modules.answerRecord.dto.AnswerRecordDTO;
import org.springblade.modules.answerRecord.entity.AnswerRecordEntity;
import org.springblade.modules.answerRecord.mapper.AnswerRecordMapper;
import org.springblade.modules.answerRecord.service.IAnswerRecordService;
import org.springblade.modules.answerRecord.vo.AnswerRecordVO;
+import org.springblade.modules.property.entity.PropertyCompanyEntity;
+import org.springblade.modules.property.service.IPropertyCompanyService;
+import org.springblade.modules.subjectChoices.vo.SubjectChoicesVO;
+import org.springblade.modules.subjectOption.vo.SubjectOptionVO;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -63,5 +71,73 @@
return this.baseMapper.selectAnswerRecordList(answerRecordDTO);
}
+ @Override
+ public Boolean saveAnswer(List<SubjectChoicesVO> subjectChoicesVO) {
+ BigDecimal bigDecimal = BigDecimal.valueOf(0);
+ List<AnswerRecordEntity> objects = new ArrayList<>();
+ for (SubjectChoicesVO choicesVO : subjectChoicesVO) {
+ List<SubjectOptionVO> subjectOptionList = choicesVO.getSubjectOptionList();
+ if (choicesVO.getChoicesType().intValue() == 3) {
+ bigDecimal = bigDecimal.add(choicesVO.getScore());
+ }
+ for (SubjectOptionVO subjectOptionVO : subjectOptionList) {
+ boolean update = remove(Wrappers.<AnswerRecordEntity>lambdaQuery()
+ .eq(AnswerRecordEntity::getPropertyId, choicesVO.getPropertyId())
+ .eq(AnswerRecordEntity::getSubjectChoicesId, choicesVO.getId()));
+ if (subjectOptionVO.getIds() != null) {
+ AnswerRecordDTO answerRecordDTO = new AnswerRecordDTO();
+ answerRecordDTO.setPropertyId(choicesVO.getPropertyId());
+ answerRecordDTO.setAnswerOption(subjectOptionVO.getId().toString());
+ answerRecordDTO.setSubjectChoicesId(choicesVO.getId());
+ answerRecordDTO.setSubjectOptionId(subjectOptionVO.getId());
+ objects.add(answerRecordDTO);
+ bigDecimal = bigDecimal.add(subjectOptionVO.getScore());
+ }
+ if (subjectOptionVO.getNumbers() != null) {
+ AnswerRecordDTO answerRecordDTO = new AnswerRecordDTO();
+ answerRecordDTO.setPropertyId(choicesVO.getPropertyId());
+ answerRecordDTO.setAnswerOption(subjectOptionVO.getId().toString());
+ answerRecordDTO.setSubjectChoicesId(choicesVO.getId());
+ answerRecordDTO.setAnswer(subjectOptionVO.getNumbers());
+ answerRecordDTO.setSubjectOptionId(subjectOptionVO.getId());
+ objects.add(answerRecordDTO);
+ BigDecimal multiply = BigDecimal.valueOf(subjectOptionVO.getNumbers()).multiply(subjectOptionVO.getScore());
+ bigDecimal = bigDecimal.subtract(multiply);
+ }
+ }
+ }
+ // 保存得分
+ IPropertyCompanyService bean = SpringUtils.getBean(IPropertyCompanyService.class);
+ PropertyCompanyEntity one = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery().eq(PropertyCompanyEntity::getId, subjectChoicesVO.get(0).getPropertyId()));
+ if (subjectChoicesVO.get(0).getSubclassName().equals("基础信息")) {
+ one.setBaseInfoScore(bigDecimal);
+ } else if (subjectChoicesVO.get(0).getSubclassName().equals("经营信息")) {
+ one.setOperateinfoScore(bigDecimal);
+ } else if (subjectChoicesVO.get(0).getSubclassName().equals("纳税信息")) {
+ one.setTaxInfoScore(bigDecimal);
+ } else if (subjectChoicesVO.get(0).getSubclassName().equals("党建信息")) {
+ one.setPartyBuildingInfoScore(bigDecimal);
+ bean.update(Wrappers.<PropertyCompanyEntity>lambdaUpdate().set(PropertyCompanyEntity::getPartyBuildingInfoScore, bigDecimal)
+ .eq(PropertyCompanyEntity::getId, subjectChoicesVO.get(0).getPropertyId()));
+ } else if (subjectChoicesVO.get(0).getSubclassName().equals("企业良好行为")) {
+ one.setGoodCorporateScore(bigDecimal);
+ } else if (subjectChoicesVO.get(0).getSubclassName().equals("项目良好行为")) {
+ one.setGoodProjectScore(bigDecimal);
+ } else if (subjectChoicesVO.get(0).getSubclassName().equals("违法违规行为惩戒")) {
+ one.setLllegalAndIrregularScore(bigDecimal);
+ }
+ BigDecimal add = one.getBaseInfoScore()
+ .add(one.getOperateinfoScore())
+ .add(one.getOperateinfoScore())
+ .add(one.getPartyBuildingInfoScore())
+ .add(one.getGoodCorporateScore())
+ .add(one.getGoodProjectScore())
+ .add(one.getLllegalAndIrregularScore())
+ .add(one.getEvaluateScore());
+ one.setAllScore(add);
+ bean.updateById(one);
+ return saveBatch(objects);
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java b/src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java
index 5abce9b..0e2ee73 100644
--- a/src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java
+++ b/src/main/java/org/springblade/modules/property/entity/PropertyCompanyEntity.java
@@ -20,15 +20,14 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
+import java.math.BigDecimal;
import java.util.Date;
-import lombok.EqualsAndHashCode;
-import org.springblade.core.tenant.mp.TenantEntity;
-import org.springframework.format.annotation.DateTimeFormat;
/**
* 物业公司 实体类
@@ -134,4 +133,75 @@
@ApiModelProperty("是否已删除 0:否 1:是")
private Integer isDeleted;
+ /**
+ * 基础信息分
+ */
+ @ApiModelProperty(value = "基础信息分", example = "")
+ @TableField("base_info_score")
+ private BigDecimal baseInfoScore;
+
+ /**
+ * 经营信息分
+ */
+ @ApiModelProperty(value = "经营信息分", example = "")
+ @TableField("operateInfo_score")
+ private BigDecimal operateinfoScore;
+
+ /**
+ * 纳税信息分
+ */
+ @ApiModelProperty(value = "纳税信息分", example = "")
+ @TableField("tax_info_score")
+ private BigDecimal taxInfoScore;
+
+ /**
+ * 党建信息分
+ */
+ @ApiModelProperty(value = "党建信息分", example = "")
+ @TableField("party_building_info_score")
+ private BigDecimal partyBuildingInfoScore;
+
+ /**
+ * 企业良好信息分
+ */
+ @ApiModelProperty(value = "企业良好信息分", example = "")
+ @TableField("good_corporate_score")
+ private BigDecimal goodCorporateScore;
+
+ /**
+ * 项目良好信息分
+ */
+ @ApiModelProperty(value = "项目良好信息分", example = "")
+ @TableField("good_project_score")
+ private BigDecimal goodProjectScore;
+
+ /**
+ * 违法违规行为分
+ */
+ @ApiModelProperty(value = "违法违规行为分", example = "")
+ @TableField("lllegal_and_irregular_score")
+ private BigDecimal lllegalAndIrregularScore;
+
+ /**
+ * 评价平均分
+ */
+ @ApiModelProperty(value = "评价平均分", example = "")
+ @TableField("evaluate_score")
+ private BigDecimal evaluateScore;
+
+ /**
+ * 街道社区分
+ */
+ @ApiModelProperty(value = "街道社区分", example = "")
+ @TableField("street_score")
+ private BigDecimal streetScore;
+
+ /**
+ * 总分
+ */
+ @ApiModelProperty(value = "总分", example = "")
+ @TableField("all_score")
+ private BigDecimal allScore;
+
+
}
diff --git a/src/main/java/org/springblade/modules/subjectChoices/controller/SubjectChoicesController.java b/src/main/java/org/springblade/modules/subjectChoices/controller/SubjectChoicesController.java
index 406e7f2..df256c8 100644
--- a/src/main/java/org/springblade/modules/subjectChoices/controller/SubjectChoicesController.java
+++ b/src/main/java/org/springblade/modules/subjectChoices/controller/SubjectChoicesController.java
@@ -27,6 +27,7 @@
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.subjectChoices.entity.SubjectChoicesEntity;
import org.springblade.modules.subjectChoices.service.ISubjectChoicesService;
@@ -34,6 +35,7 @@
import org.springblade.modules.subjectChoices.wrapper.SubjectChoicesWrapper;
import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
import org.springblade.modules.subjectOption.service.ISubjectOptionService;
+import org.springblade.modules.subjectOption.vo.SubjectOptionVO;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@@ -95,12 +97,13 @@
public R save(@Valid @RequestBody SubjectChoicesVO subjectChoices) {
boolean save = subjectChoicesService.save(subjectChoices);
if (save) {
- List<SubjectOptionEntity> children = subjectChoices.getSubjectOptionList();
+ List<SubjectOptionVO> children = subjectChoices.getSubjectOptionList();
for (SubjectOptionEntity child : children) {
child.setSubjectChoicesId(subjectChoices.getId());
}
+ List<SubjectOptionEntity> copy = BeanUtil.copy(children, SubjectOptionEntity.class);
ISubjectOptionService bean = SpringUtils.getBean(ISubjectOptionService.class);
- bean.saveBatch(children);
+ bean.saveOrUpdateBatch(copy);
}
return R.status(save);
}
@@ -124,12 +127,13 @@
public R submit(@Valid @RequestBody SubjectChoicesVO subjectChoices) {
boolean save = subjectChoicesService.saveOrUpdate(subjectChoices);
if (save) {
- List<SubjectOptionEntity> children = subjectChoices.getSubjectOptionList();
+ List<SubjectOptionVO> children = subjectChoices.getSubjectOptionList();
for (SubjectOptionEntity child : children) {
child.setSubjectChoicesId(subjectChoices.getId());
}
+ List<SubjectOptionEntity> copy = BeanUtil.copy(children, SubjectOptionEntity.class);
ISubjectOptionService bean = SpringUtils.getBean(ISubjectOptionService.class);
- bean.saveOrUpdateBatch(children);
+ bean.saveOrUpdateBatch(copy);
}
return R.status(save);
}
diff --git a/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.xml b/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.xml
index bce9a7b..c66cc6b 100644
--- a/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.xml
+++ b/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.xml
@@ -30,9 +30,15 @@
</resultMap>
<select id="selectCircleCommentByParentId" parameterType="long"
- resultType="org.springblade.modules.subjectOption.entity.SubjectOptionEntity">
- select * from jczz_subject_option where
- subject_choices_id = #{id}
+ resultType="org.springblade.modules.subjectOption.vo.SubjectOptionVO">
+ SELECT
+ jso.*,
+ jar.subject_option_id ids,
+ jar.answer numbers
+ FROM
+ jczz_subject_option jso LEFT JOIN jczz_answer_record jar on jso.id = jar.subject_option_id
+ WHERE
+ jso.subject_choices_id = #{id}
</select>
diff --git a/src/main/java/org/springblade/modules/subjectChoices/vo/SubjectChoicesVO.java b/src/main/java/org/springblade/modules/subjectChoices/vo/SubjectChoicesVO.java
index ac18882..6501f20 100644
--- a/src/main/java/org/springblade/modules/subjectChoices/vo/SubjectChoicesVO.java
+++ b/src/main/java/org/springblade/modules/subjectChoices/vo/SubjectChoicesVO.java
@@ -19,7 +19,7 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.modules.subjectChoices.entity.SubjectChoicesEntity;
-import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
+import org.springblade.modules.subjectOption.vo.SubjectOptionVO;
import java.util.List;
@@ -34,5 +34,11 @@
public class SubjectChoicesVO extends SubjectChoicesEntity {
private static final long serialVersionUID = 1L;
- private List<SubjectOptionEntity> subjectOptionList;
+ private Long propertyId;
+
+// private List<SubjectOptionEntity> subjectOptionList;
+
+ private List<SubjectOptionVO> subjectOptionList;
+
+
}
diff --git a/src/main/java/org/springblade/modules/subjectOption/vo/SubjectOptionVO.java b/src/main/java/org/springblade/modules/subjectOption/vo/SubjectOptionVO.java
index 734e092..e7c4ff4 100644
--- a/src/main/java/org/springblade/modules/subjectOption/vo/SubjectOptionVO.java
+++ b/src/main/java/org/springblade/modules/subjectOption/vo/SubjectOptionVO.java
@@ -31,4 +31,9 @@
public class SubjectOptionVO extends SubjectOptionEntity {
private static final long serialVersionUID = 1L;
+ // 选择的id
+ private Long ids;
+ // 填写的数字
+ private Integer numbers;
+
}
--
Gitblit v1.9.3