Browse Source

Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

java110 4 years ago
parent
commit
468042c516

+ 4 - 0
java110-bean/src/main/java/com/java110/dto/reportInfoAnswerValue/ReportInfoAnswerValueDto.java

@@ -14,6 +14,10 @@ import java.util.Date;
  **/
 public class ReportInfoAnswerValueDto extends PageDto implements Serializable {
 
+    public static final String TITLETYPE_RADIO ="1001";
+    public static final String TITLETYPE_CHECKBOX ="2002";
+    public static final String ITLETYPE_TEXTAREA ="3003";
+
     private String valueId;
 private String userAnId;
 private String titleId;

+ 0 - 1
service-front/src/main/java/com/java110/front/components/community/EnterCommunityComponent.java

@@ -15,7 +15,6 @@ import org.springframework.stereotype.Component;
 @Component("enterCommunity")
 public class EnterCommunityComponent {
 
-
     @Autowired
     private ICommunityServiceSMO communityServiceSMOImpl;
 

+ 5 - 5
service-front/src/main/java/com/java110/front/smo/api/impl/ApiSMOImpl.java

@@ -78,6 +78,11 @@ public class ApiSMOImpl extends BaseComponentSMO implements IApiSMO {
         HttpHeaders header = new HttpHeaders();
         IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
 
+        for (String key : headers.keySet()
+        ) {
+            header.add(key, headers.get(key));
+        }
+
         ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
         if (!StringUtil.isEmpty(result.getUserId())) {
             header.add("user-id", result.getUserId());
@@ -105,11 +110,6 @@ public class ApiSMOImpl extends BaseComponentSMO implements IApiSMO {
         }
 
 
-        for (String key : headers.keySet()
-        ) {
-            header.add(key, headers.get(key));
-        }
-
         HttpEntity<String> httpEntity = new HttpEntity<String>(body, header);
         logger.debug("请求后端url" + url);
         ResponseEntity<String> responseEntity = null;

+ 5 - 11
service-report/src/main/java/com/java110/report/api/ReportInfoAnswerValueApi.java

@@ -38,28 +38,22 @@ public class ReportInfoAnswerValueApi {
     @RequestMapping(value = "/saveReportInfoAnswerValue", method = RequestMethod.POST)
     public ResponseEntity<String> saveReportInfoAnswerValue(@RequestHeader(value = "user-id") String userId,@RequestBody JSONObject reqJson) {
 
-        Assert.hasKeyAndValue(reqJson, "anValueId", "请求报文中未包含anValueId");
-        Assert.hasKeyAndValue(reqJson, "userAnId", "请求报文中未包含userAnId");
+        Assert.hasKeyAndValue(reqJson, "questionAnswerTitles", "请求报文中未包含回答项");
         Assert.hasKeyAndValue(reqJson, "settingId", "请求报文中未包含settingId");
-        Assert.hasKeyAndValue(reqJson, "titleId", "请求报文中未包含titleId");
-        Assert.hasKeyAndValue(reqJson, "valueId", "请求报文中未包含valueId");
-        Assert.hasKeyAndValue(reqJson, "valueContent", "请求报文中未包含valueContent");
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
-        Assert.hasKey(reqJson, "questionAnswerTitles", "未包含回答项");
+
         JSONArray questionAnswerTitles = reqJson.getJSONArray("questionAnswerTitles");
 
         if (questionAnswerTitles == null || questionAnswerTitles.size() < 1) {
-            throw new IllegalArgumentException("未包含答案");
+            throw new IllegalArgumentException("未包含题目及答案");
         }
         JSONObject titleObj = null;
         for (int questionAnswerTitleIndex = 0; questionAnswerTitleIndex < questionAnswerTitles.size(); questionAnswerTitleIndex++) {
             titleObj = questionAnswerTitles.getJSONObject(questionAnswerTitleIndex);
-            Assert.hasKeyAndValue(titleObj, "valueContent", titleObj.getString("qaTitle") + ",未填写答案");
+            Assert.hasKeyAndValue(titleObj, "valueContent", titleObj.getString("title") + ",未填写答案");
         }
 
-        ReportInfoAnswerValuePo reportInfoAnswerValuePo = BeanConvertUtil.covertBean(reqJson, ReportInfoAnswerValuePo.class);
-
-        return saveReportInfoAnswerValueBMOImpl.save(reportInfoAnswerValuePo,questionAnswerTitles);
+        return saveReportInfoAnswerValueBMOImpl.save(reqJson,userId);
     }
 
     /**

+ 3 - 2
service-report/src/main/java/com/java110/report/bmo/reportInfoAnswerValue/ISaveReportInfoAnswerValueBMO.java

@@ -1,6 +1,7 @@
 package com.java110.report.bmo.reportInfoAnswerValue;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.java110.po.reportInfoAnswerValue.ReportInfoAnswerValuePo;
 import org.springframework.http.ResponseEntity;
 public interface ISaveReportInfoAnswerValueBMO {
@@ -9,10 +10,10 @@ public interface ISaveReportInfoAnswerValueBMO {
     /**
      * 添加批量操作日志详情
      * add by wuxw
-     * @param reportInfoAnswerValuePo
+     * @param
      * @return
      */
-    ResponseEntity<String> save(ReportInfoAnswerValuePo reportInfoAnswerValuePo, JSONArray questionAnswerTitles);
+    ResponseEntity<String> save(JSONObject reqJson, String userId);
 
 
 }

+ 119 - 76
service-report/src/main/java/com/java110/report/bmo/reportInfoAnswerValue/impl/SaveReportInfoAnswerValueBMOImpl.java

@@ -4,9 +4,15 @@ 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;
@@ -31,96 +37,133 @@ public class SaveReportInfoAnswerValueBMOImpl implements ISaveReportInfoAnswerVa
     @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) {
-        ReportInfoSettingDto reportInfoSettingDto = new ReportInfoSettingDto();
-        reportInfoSettingDto.setCommunityId(reportInfoAnswerValuePo.getCommunityId());
-        reportInfoSettingDto.setSettingId(reportInfoAnswerValuePo.getSettingId());
-        List<ReportInfoSettingDto> reportInfoSettingDtos = reportInfoSettingInnerServiceSMOImpl.queryReportInfoSettings(reportInfoSettingDto);
-        Assert.listOnlyOne(reportInfoSettingDtos, "疫情问卷不存在");
-
-
-
-      /*  JSONObject titleObj = null;
-        ReportInfoAnswerValuePo tmpUserUserQuestionAnswerValue = null;
-        List<ReportInfoAnswerValuePo> tmpUserUserQuestionAnswerValues = new ArrayList<>();
-        ReportInfoAnswerPo userQuestionAnswerPo = new ReportInfoAnswerPo();
-        if(StringUtil.isEmpty(userQuestionAnswerValuePo.getUserQaId()) || userQuestionAnswerValuePo.getUserQaId().startsWith("-")){
-            userQuestionAnswerPo.setUserQaId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_userQaId));
-        }else{
-            userQuestionAnswerPo.setUserQaId(userQuestionAnswerValuePo.getUserQaId());
+    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("-1");
+        reportInfoAnswerPo.setPersonName("未知");
+        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);
-            tmpUserUserQuestionAnswerValue = new ReportInfoAnswerValuePo();
-            tmpUserUserQuestionAnswerValue.setAnswerType(userQuestionAnswerValuePo.getAnswerType());
-            tmpUserUserQuestionAnswerValue.setObjId(userQuestionAnswerValuePo.getObjId());
-            tmpUserUserQuestionAnswerValue.setObjType(userQuestionAnswerValuePo.getObjType());
-            tmpUserUserQuestionAnswerValue.setPersonId(userQuestionAnswerValuePo.getPersonId());
-            tmpUserUserQuestionAnswerValue.setQaId(userQuestionAnswerValuePo.getQaId());
-            tmpUserUserQuestionAnswerValue.setScore("0");
-            tmpUserUserQuestionAnswerValue.setTitleId(titleObj.getString("titleId"));
-            tmpUserUserQuestionAnswerValue.setUserQaId(userQuestionAnswerPo.getUserQaId());
-            tmpUserUserQuestionAnswerValue.setUserTitleId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_userTitleId));
-            if ("3003".equals(titleObj.getString("titleType"))) {
-                tmpUserUserQuestionAnswerValue.setValueId("999");
-                tmpUserUserQuestionAnswerValue.setValueContent(titleObj.getString("valueContent"));
-            } else {
-                tmpUserUserQuestionAnswerValue.setValueId(titleObj.getString("valueContent"));
-                tmpUserUserQuestionAnswerValue.setValueContent(titleObj.getString("valueContent"));
+            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();
+
+
+                    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();
+
+
+                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(valueContent);
+                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, "保存失败");
+                }
             }
-            tmpUserUserQuestionAnswerValues.add(tmpUserUserQuestionAnswerValue);
-        }
-
-        int flag = userQuestionAnswerValueInnerServiceSMOImpl.saveUserQuestionAnswerValue(tmpUserUserQuestionAnswerValues);
-        if (flag < 0) {
-            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
-        }
-
-        //如果是领导 评价 直接返回
-        String answerType = userQuestionAnswerValuePo.getAnswerType();
-
-        if("2003".equals(answerType)){
-            userQuestionAnswerPo.setState("1202");
-            userQuestionAnswerInnerServiceSMOImpl.updateUserQuestionAnswer(userQuestionAnswerPo);
-            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
-        }
-
-        userQuestionAnswerPo.setEvaluationScore("0");
-        userQuestionAnswerPo.setObjId(userQuestionAnswerValuePo.getObjId());
-        userQuestionAnswerPo.setObjType(userQuestionAnswerValuePo.getObjType());
-        userQuestionAnswerPo.setPersonId(userQuestionAnswerValuePo.getPersonId());
-        userQuestionAnswerPo.setQaId(userQuestionAnswerValuePo.getQaId());
-        userQuestionAnswerPo.setScore("0");
-
-        if ("2002".equals(questionAnswerDtos.get(0).getQaType())) {
-            userQuestionAnswerPo.setState("1201");
-        } else {
-            userQuestionAnswerPo.setState("1202");
-        }
-        flag = userQuestionAnswerInnerServiceSMOImpl.saveUserQuestionAnswer(userQuestionAnswerPo);
-        if (flag < 0) {
-            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
-
         }
 
-*/
-
-
-        reportInfoAnswerValuePo.setAnValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_anValueId));
-        int flag = reportInfoAnswerValueInnerServiceSMOImpl.saveReportInfoAnswerValue(reportInfoAnswerValuePo);
 
-        if (flag > 0) {
         return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
-        }
-
-        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
     }
 
 }