From b278a4b743d0cf45fd0b42bc78ff42f4e1124baf Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 19 十月 2021 12:20:04 +0800
Subject: [PATCH] 优化diamante
---
service-report/src/main/java/com/java110/report/bmo/reportInfoAnswerValue/impl/SaveReportInfoAnswerValueBMOImpl.java | 143 +++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 136 insertions(+), 7 deletions(-)
diff --git a/service-report/src/main/java/com/java110/report/bmo/reportInfoAnswerValue/impl/SaveReportInfoAnswerValueBMOImpl.java b/service-report/src/main/java/com/java110/report/bmo/reportInfoAnswerValue/impl/SaveReportInfoAnswerValueBMOImpl.java
index b1c65f7..6c654f1 100644
--- a/service-report/src/main/java/com/java110/report/bmo/reportInfoAnswerValue/impl/SaveReportInfoAnswerValueBMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/bmo/reportInfoAnswerValue/impl/SaveReportInfoAnswerValueBMOImpl.java
@@ -1,15 +1,31 @@
package com.java110.report.bmo.reportInfoAnswerValue.impl;
import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.reportInfoAnswerValue.ReportInfoAnswerValueDto;
+import com.java110.dto.reportInfoSetting.ReportInfoSettingDto;
+import com.java110.dto.reportInfoSettingTitleValue.ReportInfoSettingTitleValueDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.report.IReportInfoAnswerInnerServiceSMO;
import com.java110.intf.report.IReportInfoAnswerValueInnerServiceSMO;
+import com.java110.intf.report.IReportInfoSettingInnerServiceSMO;
+import com.java110.intf.report.IReportInfoSettingTitleValueInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.reportInfoAnswer.ReportInfoAnswerPo;
import com.java110.po.reportInfoAnswerValue.ReportInfoAnswerValuePo;
+import com.java110.po.userQuestionAnswer.UserQuestionAnswerPo;
import com.java110.report.bmo.reportInfoAnswerValue.ISaveReportInfoAnswerValueBMO;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
@Service("saveReportInfoAnswerValueBMOImpl")
public class SaveReportInfoAnswerValueBMOImpl implements ISaveReportInfoAnswerValueBMO {
@@ -17,24 +33,137 @@
@Autowired
private IReportInfoAnswerValueInnerServiceSMO reportInfoAnswerValueInnerServiceSMOImpl;
+
+ @Autowired
+ private IReportInfoSettingInnerServiceSMO reportInfoSettingInnerServiceSMOImpl;
+
+ @Autowired
+ private IReportInfoAnswerInnerServiceSMO reportInfoAnswerInnerServiceSMOImpl;
+
+ @Autowired
+ private IUserInnerServiceSMO userInnerServiceSMOImpl;
+ @Autowired
+ private IReportInfoSettingTitleValueInnerServiceSMO reportInfoSettingTitleValueInnerServiceSMOImpl;
+
/**
* 娣诲姞灏忓尯淇℃伅
*
- * @param reportInfoAnswerValuePo
+ * @param
* @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
*/
@Java110Transactional
- public ResponseEntity<String> save(ReportInfoAnswerValuePo reportInfoAnswerValuePo, JSONArray questionAnswerTitles) {
+ public ResponseEntity<String> save(JSONObject reqJson,String userId) {
+
+ /* UserDto userDto = new UserDto();
+ userDto.setUserId(userId);
+ List<UserDto> userDtoList = userInnerServiceSMOImpl.getUsers(userDto);
+ if (userDtoList == null || userDtoList.size() < 1) {
+ throw new IllegalArgumentException("鏌ヨ鐢ㄦ埛淇℃伅澶辫触锛�");
+ }*/
+ ReportInfoAnswerPo reportInfoAnswerPo = new ReportInfoAnswerPo();
+ reportInfoAnswerPo.setUserAnId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_userAnId));
+ reportInfoAnswerPo.setSettingId(reqJson.getString("settingId"));
+ reportInfoAnswerPo.setPersonId(StringUtil.isNullOrNone(reqJson.getString("personId")) == true?"-1":reqJson.getString("personId"));
+ reportInfoAnswerPo.setPersonName(StringUtil.isNullOrNone(reqJson.getString("personName")) == true?"鏈煡":reqJson.getString("personName"));
+ reportInfoAnswerPo.setCommunityId(reqJson.getString("communityId"));
+ int flag = reportInfoAnswerInnerServiceSMOImpl.saveReportInfoAnswer(reportInfoAnswerPo);
+ if (flag < 1) {
+ return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨澶辫触");
+ }
+ JSONArray questionAnswerTitles = reqJson.getJSONArray("questionAnswerTitles");
+
+ if (questionAnswerTitles == null || questionAnswerTitles.size() < 1) {
+ throw new IllegalArgumentException("鏈寘鍚鐩強绛旀");
+ }
+ JSONObject titleObj = null;
+ for (int questionAnswerTitleIndex = 0; questionAnswerTitleIndex < questionAnswerTitles.size(); questionAnswerTitleIndex++) {
+ titleObj = questionAnswerTitles.getJSONObject(questionAnswerTitleIndex);
+ String titleType = titleObj.getString("titleType");
+ if(ReportInfoAnswerValueDto.TITLETYPE_CHECKBOX.equals(titleType)){
+ JSONArray valueContent = titleObj.getJSONArray("valueContent");
+ if(valueContent == null || valueContent.size() < 1){
+ throw new IllegalArgumentException("澶氶�夐鐩湭鍖呭惈绛旀");
+ }
+ for(int checkBoxIndex = 0;checkBoxIndex<valueContent.size();checkBoxIndex++){
+ ReportInfoAnswerValuePo reportInfoAnswerValuePo = new ReportInfoAnswerValuePo();
+ reportInfoAnswerValuePo.setAnValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_anValueId));
+ reportInfoAnswerValuePo.setUserAnId(reportInfoAnswerPo.getUserAnId());
+ reportInfoAnswerValuePo.setValueId(valueContent.getString(checkBoxIndex));
+ reportInfoAnswerValuePo.setSettingId(reqJson.getString("settingId"));
+ reportInfoAnswerValuePo.setTitleId(titleObj.getString("titleId"));
+ reportInfoAnswerValuePo.setCommunityId(titleObj.getString("communityId"));
+ ReportInfoSettingTitleValueDto reportInfoSettingTitleValueDto = new ReportInfoSettingTitleValueDto();
- reportInfoAnswerValuePo.setAnValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_anValueId));
- int flag = reportInfoAnswerValueInnerServiceSMOImpl.saveReportInfoAnswerValue(reportInfoAnswerValuePo);
+ reportInfoSettingTitleValueDto.setCommunityId(titleObj.getString("communityId"));
+ reportInfoSettingTitleValueDto.setTitleId(titleObj.getString("titleId"));
+ reportInfoSettingTitleValueDto.setValueId(valueContent.getString(checkBoxIndex));
+ List<ReportInfoSettingTitleValueDto> reportInfoSettingTitleValueDtos = reportInfoSettingTitleValueInnerServiceSMOImpl.queryReportInfoSettingTitleValues(reportInfoSettingTitleValueDto);
+ if(reportInfoSettingTitleValueDtos == null || reportInfoSettingTitleValueDtos.size() < 1){
+ throw new IllegalArgumentException("澶氶�夐鐩湭鏌ヨ鍒扮瓟妗堜俊鎭�");
+ }
+ if (valueContent.getString(checkBoxIndex).equals(reportInfoSettingTitleValueDtos.get(0).getValueId())) {
+ reportInfoAnswerValuePo.setValueContent(reportInfoSettingTitleValueDtos.get(0).getQaValue());
+ }
+ flag = reportInfoAnswerValueInnerServiceSMOImpl.saveReportInfoAnswerValue(reportInfoAnswerValuePo);
+ if (flag < 1) {
+ return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨澶辫触");
+ }
+ }
+ }
+ if(ReportInfoAnswerValueDto.TITLETYPE_RADIO.equals(titleType)){
+ String valueContent = titleObj.getString("valueContent");
+ if(valueContent == null || "".equals(valueContent)){
+ throw new IllegalArgumentException("鍗曢�夐鐩湭鍖呭惈绛旀");
+ }
+ ReportInfoAnswerValuePo reportInfoAnswerValuePo = new ReportInfoAnswerValuePo();
+ reportInfoAnswerValuePo.setAnValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_anValueId));
+ reportInfoAnswerValuePo.setUserAnId(reportInfoAnswerPo.getUserAnId());
+ reportInfoAnswerValuePo.setValueId(valueContent);
+ reportInfoAnswerValuePo.setTitleId(titleObj.getString("titleId"));
+ reportInfoAnswerValuePo.setCommunityId(titleObj.getString("communityId"));
+ reportInfoAnswerValuePo.setSettingId(reqJson.getString("settingId"));
+ ReportInfoSettingTitleValueDto reportInfoSettingTitleValueDto = new ReportInfoSettingTitleValueDto();
- if (flag > 0) {
- return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
+
+ reportInfoSettingTitleValueDto.setCommunityId(titleObj.getString("communityId"));
+ reportInfoSettingTitleValueDto.setTitleId(titleObj.getString("titleId"));
+ reportInfoSettingTitleValueDto.setValueId(valueContent);
+ List<ReportInfoSettingTitleValueDto> reportInfoSettingTitleValueDtos = reportInfoSettingTitleValueInnerServiceSMOImpl.queryReportInfoSettingTitleValues(reportInfoSettingTitleValueDto);
+ if(reportInfoSettingTitleValueDtos == null || reportInfoSettingTitleValueDtos.size() < 1){
+ throw new IllegalArgumentException("澶氶�夐鐩湭鏌ヨ鍒扮瓟妗堜俊鎭�");
+ }
+ if (valueContent.equals(reportInfoSettingTitleValueDtos.get(0).getValueId())) {
+ reportInfoAnswerValuePo.setValueContent(reportInfoSettingTitleValueDtos.get(0).getQaValue());
+ }
+ flag = reportInfoAnswerValueInnerServiceSMOImpl.saveReportInfoAnswerValue(reportInfoAnswerValuePo);
+ if (flag < 1) {
+ return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨澶辫触");
+ }
+ }
+ if(ReportInfoAnswerValueDto.ITLETYPE_TEXTAREA.equals(titleType)){
+ String valueContent = titleObj.getString("valueContent");
+ if(valueContent == null || "".equals(valueContent)){
+ throw new IllegalArgumentException("鍗曢�夐鐩湭鍖呭惈绛旀");
+ }
+ ReportInfoAnswerValuePo reportInfoAnswerValuePo = new ReportInfoAnswerValuePo();
+ reportInfoAnswerValuePo.setAnValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_anValueId));
+ reportInfoAnswerValuePo.setUserAnId(reportInfoAnswerPo.getUserAnId());
+ reportInfoAnswerValuePo.setValueId("-1");
+ reportInfoAnswerValuePo.setSettingId(reqJson.getString("settingId"));
+ reportInfoAnswerValuePo.setTitleId(titleObj.getString("titleId"));
+ reportInfoAnswerValuePo.setCommunityId(titleObj.getString("communityId"));
+ reportInfoAnswerValuePo.setValueContent(valueContent);
+
+ flag = reportInfoAnswerValueInnerServiceSMOImpl.saveReportInfoAnswerValue(reportInfoAnswerValuePo);
+ if (flag < 1) {
+ return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨澶辫触");
+ }
+ }
}
- return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+
+ return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
}
}
--
Gitblit v1.8.0