소스 검색

优化带啊吗

1098226878 4 년 전
부모
커밋
c75d4188e1

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/reportInfoSetting/ReportInfoSettingDto.java

@@ -16,6 +16,7 @@ public class ReportInfoSettingDto extends PageDto implements Serializable {
 
     private String reportType;
 private String name;
+private String nameLike;
 private String startTime;
 private String remark;
 private String endTime;
@@ -87,4 +88,12 @@ public void setSettingId(String settingId) {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String getNameLike() {
+        return nameLike;
+    }
+
+    public void setNameLike(String nameLike) {
+        this.nameLike = nameLike;
+    }
 }

+ 25 - 1
java110-bean/src/main/java/com/java110/dto/reportInfoSettingTitle/ReportInfoSettingTitleDto.java

@@ -1,8 +1,12 @@
 package com.java110.dto.reportInfoSettingTitle;
 
 import com.java110.dto.PageDto;
+import com.java110.dto.questionAnswerTitleValue.QuestionAnswerTitleValueDto;
+import com.java110.dto.reportInfoSettingTitleValue.ReportInfoSettingTitleValueDto;
+
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName FloorDto
@@ -13,10 +17,14 @@ import java.util.Date;
  * add by wuxw 2019/4/24
  **/
 public class ReportInfoSettingTitleDto extends PageDto implements Serializable {
+    public static final String TITLE_TYPE_SINGLE = "1001"; // 单选题
+    public static final String TITLE_TYPE_MULTIPLE = "2002"; // 多选题
+    public static final String TITLE_TYPE_QUESTIONS = "3003"; // 简答题
 
     private String titleType;
 private String titleId;
 private String title;
+private String titleLike;
 private String communityId;
 private String seq;
 private String settingId;
@@ -25,7 +33,7 @@ private String settingId;
     private Date createTime;
 
     private String statusCd = "0";
-
+    private List<ReportInfoSettingTitleValueDto> reportInfoSettingTitleValueDtos;
 
     public String getTitleType() {
         return titleType;
@@ -80,4 +88,20 @@ public void setSettingId(String settingId) {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String getTitleLike() {
+        return titleLike;
+    }
+
+    public void setTitleLike(String titleLike) {
+        this.titleLike = titleLike;
+    }
+
+    public List<ReportInfoSettingTitleValueDto> getReportInfoSettingTitleValueDtos() {
+        return reportInfoSettingTitleValueDtos;
+    }
+
+    public void setReportInfoSettingTitleValueDtos(List<ReportInfoSettingTitleValueDto> reportInfoSettingTitleValueDtos) {
+        this.reportInfoSettingTitleValueDtos = reportInfoSettingTitleValueDtos;
+    }
 }

+ 9 - 1
java110-bean/src/main/java/com/java110/dto/reportInfoSettingTitleValue/ReportInfoSettingTitleValueDto.java

@@ -19,7 +19,7 @@ private String titleId;
 private String communityId;
 private String qaValue;
 private String seq;
-
+    private String[] titleIds;
 
     private Date createTime;
 
@@ -73,4 +73,12 @@ public void setSeq(String seq) {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String[] getTitleIds() {
+        return titleIds;
+    }
+
+    public void setTitleIds(String[] titleIds) {
+        this.titleIds = titleIds;
+    }
 }

+ 6 - 0
java110-db/src/main/resources/mapper/report/ReportInfoSettingServiceDaoImplMapper.xml

@@ -33,6 +33,9 @@ where 1 =1
 <if test="name !=null and name != ''">
    and t.name= #{name}
 </if> 
+<if test="nameLike !=null and nameLike != ''">
+   and t.name like concat('%',#{nameLike},'%')
+</if>
 <if test="startTime !=null and startTime != ''">
    and t.start_time= #{startTime}
 </if> 
@@ -108,6 +111,9 @@ where 1 =1
 <if test="name !=null and name != ''">
    and t.name= #{name}
 </if> 
+<if test="nameLike !=null and nameLike != ''">
+   and t.name like concat('%',#{nameLike},'%')
+</if>
 <if test="startTime !=null and startTime != ''">
    and t.start_time= #{startTime}
 </if> 

+ 6 - 0
java110-db/src/main/resources/mapper/report/ReportInfoSettingTitleServiceDaoImplMapper.xml

@@ -39,6 +39,9 @@ where 1 =1
 <if test="title !=null and title != ''">
    and t.title= #{title}
 </if> 
+<if test="titleLike !=null and titleLike != ''">
+   and t.title like concat('%',#{titleLike},'%')
+</if>
 <if test="communityId !=null and communityId != ''">
    and t.community_id= #{communityId}
 </if> 
@@ -108,6 +111,9 @@ where 1 =1
 <if test="title !=null and title != ''">
    and t.title= #{title}
 </if> 
+<if test="titleLike !=null and titleLike != ''">
+   and t.title like concat('%',#{titleLike},'%')
+</if>
 <if test="communityId !=null and communityId != ''">
    and t.community_id= #{communityId}
 </if> 

+ 7 - 1
java110-db/src/main/resources/mapper/report/ReportInfoSettingTitleValueServiceDaoImplMapper.xml

@@ -32,7 +32,13 @@ where 1 =1
 </if> 
 <if test="titleId !=null and titleId != ''">
    and t.title_id= #{titleId}
-</if> 
+</if>
+        <if test="titleIds !=null">
+            and t.title_id in
+            <foreach collection="titleIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
 <if test="statusCd !=null and statusCd != ''">
    and t.status_cd= #{statusCd}
 </if> 

+ 4 - 1
service-report/src/main/java/com/java110/report/api/ReportInfoSettingApi.java

@@ -43,7 +43,6 @@ public class ReportInfoSettingApi {
         Assert.hasKeyAndValue(reqJson, "startTime", "请求报文中未包含startTime");
         Assert.hasKeyAndValue(reqJson, "endTime", "请求报文中未包含endTime");
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
-        Assert.hasKeyAndValue(reqJson, "remark", "请求报文中未包含remark");
 
 
         ReportInfoSettingPo reportInfoSettingPo = BeanConvertUtil.covertBean(reqJson, ReportInfoSettingPo.class);
@@ -101,12 +100,16 @@ public class ReportInfoSettingApi {
      */
     @RequestMapping(value = "/queryReportInfoSetting", method = RequestMethod.GET)
     public ResponseEntity<String> queryReportInfoSetting(@RequestParam(value = "communityId") String communityId,
+                                                         @RequestParam(value = "name") String name,
+                                                         @RequestParam(value = "settingId") String settingId,
                                                       @RequestParam(value = "page") int page,
                                                       @RequestParam(value = "row") int row) {
         ReportInfoSettingDto reportInfoSettingDto = new ReportInfoSettingDto();
         reportInfoSettingDto.setPage(page);
         reportInfoSettingDto.setRow(row);
         reportInfoSettingDto.setCommunityId(communityId);
+        reportInfoSettingDto.setNameLike(name);
+        reportInfoSettingDto.setSettingId(settingId);
         return getReportInfoSettingBMOImpl.get(reportInfoSettingDto);
     }
 }

+ 28 - 3
service-report/src/main/java/com/java110/report/api/ReportInfoSettingTitleApi.java

@@ -1,6 +1,8 @@
 package com.java110.report.api;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.questionAnswerTitle.QuestionAnswerTitleDto;
 import com.java110.dto.reportInfoSettingTitle.ReportInfoSettingTitleDto;
 import com.java110.po.reportInfoSettingTitle.ReportInfoSettingTitlePo;
 import com.java110.report.bmo.reportInfoSettingTitle.IDeleteReportInfoSettingTitleBMO;
@@ -43,10 +45,17 @@ public class ReportInfoSettingTitleApi {
         Assert.hasKeyAndValue(reqJson, "titleType", "请求报文中未包含titleType");
         Assert.hasKeyAndValue(reqJson, "seq", "请求报文中未包含seq");
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
+        JSONArray titleValues = null;
+        if (!ReportInfoSettingTitleDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
+            titleValues = reqJson.getJSONArray("titleValues");
 
+            if (titleValues.size() < 1) {
+                throw new IllegalArgumentException("未包含选项");
+            }
+        }
 
         ReportInfoSettingTitlePo reportInfoSettingTitlePo = BeanConvertUtil.covertBean(reqJson, ReportInfoSettingTitlePo.class);
-        return saveReportInfoSettingTitleBMOImpl.save(reportInfoSettingTitlePo);
+        return saveReportInfoSettingTitleBMOImpl.save(reportInfoSettingTitlePo,titleValues);
     }
 
     /**
@@ -65,11 +74,19 @@ public class ReportInfoSettingTitleApi {
         Assert.hasKeyAndValue(reqJson, "titleType", "请求报文中未包含titleType");
         Assert.hasKeyAndValue(reqJson, "seq", "请求报文中未包含seq");
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
-        Assert.hasKeyAndValue(reqJson, "titleId", "titleId不能为空");
+        JSONArray titleValues = null;
+        if (!ReportInfoSettingTitleDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
+            titleValues = reqJson.getJSONArray("titleValues");
 
+            if (titleValues.size() < 1) {
+                throw new IllegalArgumentException("未包含选项");
+            }
+        }
 
         ReportInfoSettingTitlePo reportInfoSettingTitlePo = BeanConvertUtil.covertBean(reqJson, ReportInfoSettingTitlePo.class);
-        return updateReportInfoSettingTitleBMOImpl.update(reportInfoSettingTitlePo);
+        deleteReportInfoSettingTitleBMOImpl.delete(reportInfoSettingTitlePo);
+
+        return saveReportInfoSettingTitleBMOImpl.save(reportInfoSettingTitlePo,titleValues);
     }
 
     /**
@@ -99,11 +116,19 @@ public class ReportInfoSettingTitleApi {
      */
     @RequestMapping(value = "/querySettingTitle", method = RequestMethod.GET)
     public ResponseEntity<String> queryReportInfoSettingTitle(@RequestParam(value = "communityId") String communityId,
+                                                              @RequestParam(value = "titleType") String titleType,
+                                                              @RequestParam(value = "title") String title,
+                                                              @RequestParam(value = "titleId") String titleId,
+                                                              @RequestParam(value = "settingid") String settingid,
                                                       @RequestParam(value = "page") int page,
                                                       @RequestParam(value = "row") int row) {
         ReportInfoSettingTitleDto reportInfoSettingTitleDto = new ReportInfoSettingTitleDto();
         reportInfoSettingTitleDto.setPage(page);
         reportInfoSettingTitleDto.setRow(row);
+        reportInfoSettingTitleDto.setTitleType(titleType);
+        reportInfoSettingTitleDto.setTitleLike(title);
+        reportInfoSettingTitleDto.setTitleId(titleId);
+        reportInfoSettingTitleDto.setSettingId(settingid);
         reportInfoSettingTitleDto.setCommunityId(communityId);
         return getReportInfoSettingTitleBMOImpl.get(reportInfoSettingTitleDto);
     }

+ 2 - 1
service-report/src/main/java/com/java110/report/bmo/reportInfoSettingTitle/ISaveReportInfoSettingTitleBMO.java

@@ -1,5 +1,6 @@
 package com.java110.report.bmo.reportInfoSettingTitle;
 
+import com.alibaba.fastjson.JSONArray;
 import com.java110.po.reportInfoSettingTitle.ReportInfoSettingTitlePo;
 import org.springframework.http.ResponseEntity;
 public interface ISaveReportInfoSettingTitleBMO {
@@ -11,7 +12,7 @@ public interface ISaveReportInfoSettingTitleBMO {
      * @param reportInfoSettingTitlePo
      * @return
      */
-    ResponseEntity<String> save(ReportInfoSettingTitlePo reportInfoSettingTitlePo);
+    ResponseEntity<String> save(ReportInfoSettingTitlePo reportInfoSettingTitlePo, JSONArray titleValues);
 
 
 }

+ 39 - 1
service-report/src/main/java/com/java110/report/bmo/reportInfoSettingTitle/impl/GetReportInfoSettingTitleBMOImpl.java

@@ -1,6 +1,10 @@
 package com.java110.report.bmo.reportInfoSettingTitle.impl;
 
+import com.java110.dto.questionAnswerTitle.QuestionAnswerTitleDto;
+import com.java110.dto.questionAnswerTitleValue.QuestionAnswerTitleValueDto;
+import com.java110.dto.reportInfoSettingTitleValue.ReportInfoSettingTitleValueDto;
 import com.java110.intf.report.IReportInfoSettingTitleInnerServiceSMO;
+import com.java110.intf.report.IReportInfoSettingTitleValueInnerServiceSMO;
 import com.java110.report.bmo.reportInfoSettingTitle.IGetReportInfoSettingTitleBMO;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +21,8 @@ public class GetReportInfoSettingTitleBMOImpl implements IGetReportInfoSettingTi
 
     @Autowired
     private IReportInfoSettingTitleInnerServiceSMO reportInfoSettingTitleInnerServiceSMOImpl;
-
+    @Autowired
+    private IReportInfoSettingTitleValueInnerServiceSMO reportInfoSettingTitleValueInnerServiceSMOImpl;
     /**
      *
      *
@@ -32,6 +37,7 @@ public class GetReportInfoSettingTitleBMOImpl implements IGetReportInfoSettingTi
         List<ReportInfoSettingTitleDto> reportInfoSettingTitleDtos = null;
         if (count > 0) {
             reportInfoSettingTitleDtos = reportInfoSettingTitleInnerServiceSMOImpl.queryReportInfoSettingTitles(reportInfoSettingTitleDto);
+            refreshTitileValues(reportInfoSettingTitleDtos);
         } else {
             reportInfoSettingTitleDtos = new ArrayList<>();
         }
@@ -43,4 +49,36 @@ public class GetReportInfoSettingTitleBMOImpl implements IGetReportInfoSettingTi
         return responseEntity;
     }
 
+
+    private void refreshTitileValues(List<ReportInfoSettingTitleDto> reportInfoSettingTitleDtos) {
+
+        if (reportInfoSettingTitleDtos == null || reportInfoSettingTitleDtos.size() < 1) {
+            return;
+        }
+
+        List<String> titleIds = new ArrayList<>();
+        for (ReportInfoSettingTitleDto reportInfoSettingTitleDto : reportInfoSettingTitleDtos) {
+            titleIds.add(reportInfoSettingTitleDto.getTitleId());
+        }
+
+        ReportInfoSettingTitleValueDto reportInfoSettingTitleValueDto = new ReportInfoSettingTitleValueDto();
+        reportInfoSettingTitleValueDto.setTitleIds(titleIds.toArray(new String[titleIds.size()]));
+        reportInfoSettingTitleValueDto.setCommunityId(reportInfoSettingTitleDtos.get(0).getCommunityId());
+        List<ReportInfoSettingTitleValueDto> reportInfoSettingTitleValueDtos
+                = reportInfoSettingTitleValueInnerServiceSMOImpl.queryReportInfoSettingTitleValues(reportInfoSettingTitleValueDto);
+
+        List<ReportInfoSettingTitleValueDto> tmpReportInfoSettingTitleValueDtos = null;
+        for (ReportInfoSettingTitleDto reportInfoSettingTitleDto : reportInfoSettingTitleDtos) {
+            tmpReportInfoSettingTitleValueDtos = new ArrayList<>();
+            for (ReportInfoSettingTitleValueDto reportInfoSettingTitleValueDto1 : reportInfoSettingTitleValueDtos) {
+                if (reportInfoSettingTitleDto.getTitleId().equals(reportInfoSettingTitleValueDto1.getTitleId())) {
+                    tmpReportInfoSettingTitleValueDtos.add(reportInfoSettingTitleValueDto1);
+                }
+            }
+            reportInfoSettingTitleDto.setReportInfoSettingTitleValueDtos(tmpReportInfoSettingTitleValueDtos);
+        }
+
+
+    }
+
 }

+ 25 - 5
service-report/src/main/java/com/java110/report/bmo/reportInfoSettingTitle/impl/SaveReportInfoSettingTitleBMOImpl.java

@@ -1,9 +1,15 @@
 package com.java110.report.bmo.reportInfoSettingTitle.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.questionAnswerTitle.QuestionAnswerTitleDto;
+import com.java110.dto.reportInfoSettingTitle.ReportInfoSettingTitleDto;
 import com.java110.intf.report.IReportInfoSettingTitleInnerServiceSMO;
+import com.java110.intf.report.IReportInfoSettingTitleValueInnerServiceSMO;
+import com.java110.po.questionAnswerTitleValue.QuestionAnswerTitleValuePo;
 import com.java110.po.reportInfoSettingTitle.ReportInfoSettingTitlePo;
+import com.java110.po.reportInfoSettingTitleValue.ReportInfoSettingTitleValuePo;
 import com.java110.report.bmo.reportInfoSettingTitle.ISaveReportInfoSettingTitleBMO;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,7 +21,8 @@ public class SaveReportInfoSettingTitleBMOImpl implements ISaveReportInfoSetting
 
     @Autowired
     private IReportInfoSettingTitleInnerServiceSMO reportInfoSettingTitleInnerServiceSMOImpl;
-
+    @Autowired
+    private IReportInfoSettingTitleValueInnerServiceSMO reportInfoSettingTitleValueInnerServiceSMOImpl;
     /**
      * 添加小区信息
      *
@@ -23,16 +30,29 @@ public class SaveReportInfoSettingTitleBMOImpl implements ISaveReportInfoSetting
      * @return 订单服务能够接受的报文
      */
     @Java110Transactional
-    public ResponseEntity<String> save(ReportInfoSettingTitlePo reportInfoSettingTitlePo) {
+    public ResponseEntity<String> save(ReportInfoSettingTitlePo reportInfoSettingTitlePo, JSONArray titleValues) {
 
         reportInfoSettingTitlePo.setTitleId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_titleId));
         int flag = reportInfoSettingTitleInnerServiceSMOImpl.saveReportInfoSettingTitle(reportInfoSettingTitlePo);
 
-        if (flag > 0) {
-        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        if (flag < 0) {
+        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+        }
+        if (ReportInfoSettingTitleDto.TITLE_TYPE_QUESTIONS.equals(reportInfoSettingTitlePo.getTitleType())) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
+        }
+        ReportInfoSettingTitleValuePo reportInfoSettingTitleValuePo = null;
+        for (int titleValueIndex = 0; titleValueIndex < titleValues.size(); titleValueIndex++) {
+            reportInfoSettingTitleValuePo = new ReportInfoSettingTitleValuePo();
+            reportInfoSettingTitleValuePo.setQaValue(titleValues.getJSONObject(titleValueIndex).getString("qaValue"));
+            reportInfoSettingTitleValuePo.setSeq(titleValues.getJSONObject(titleValueIndex).getString("seq"));
+            reportInfoSettingTitleValuePo.setTitleId(reportInfoSettingTitlePo.getTitleId());
+            reportInfoSettingTitleValuePo.setValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_valueId));
+            reportInfoSettingTitleValuePo.setCommunityId(reportInfoSettingTitlePo.getCommunityId());
+            reportInfoSettingTitleValueInnerServiceSMOImpl.saveReportInfoSettingTitleValue(reportInfoSettingTitleValuePo);
         }
 
-        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
+        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
     }
 
 }