From d526cf637048d71f046667f26e76436e9d489861 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期日, 23 四月 2023 22:45:11 +0800
Subject: [PATCH] 优化代码

---
 service-report/src/main/java/com/java110/report/bmo/reportInfoAnswerValue/impl/SaveReportInfoAnswerValueBMOImpl.java |  141 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 134 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..28a54db 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,26 @@
 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.reportInfoAnswer.ReportInfoAnswerValueDto;
+import com.java110.dto.reportInfoSetting.ReportInfoSettingTitleValueDto;
+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.report.bmo.reportInfoAnswerValue.ISaveReportInfoAnswerValueBMO;
+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.List;
 
 @Service("saveReportInfoAnswerValueBMOImpl")
 public class SaveReportInfoAnswerValueBMOImpl implements ISaveReportInfoAnswerValueBMO {
@@ -17,24 +28,140 @@
     @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"));
+        reportInfoAnswerPo.setOpenId(reqJson.getString("openId"));
+        reportInfoAnswerPo.setIdCard(reqJson.getString("idCard"));
+        reportInfoAnswerPo.setTel(reqJson.getString("tel"));
+        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