|
|
@@ -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, "保存失败");
|
|
|
}
|
|
|
|
|
|
}
|