Explorar el Código

优化查询功能

java110 hace 4 años
padre
commit
08e418ef31

+ 12 - 0
java110-bean/src/main/java/com/java110/dto/inspectionItemTitle/InspectionItemTitleDto.java

@@ -1,9 +1,11 @@
 package com.java110.dto.inspectionItemTitle;
 
 import com.java110.dto.PageDto;
+import com.java110.dto.inspectionItemTitleValue.InspectionItemTitleValueDto;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName FloorDto
@@ -31,6 +33,8 @@ public class InspectionItemTitleDto extends PageDto implements Serializable {
 
     private String statusCd = "0";
 
+    private List<InspectionItemTitleValueDto> inspectionItemTitleValueDtos;
+
 
     public String getItemId() {
         return itemId;
@@ -96,4 +100,12 @@ public class InspectionItemTitleDto extends PageDto implements Serializable {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public List<InspectionItemTitleValueDto> getInspectionItemTitleValueDtos() {
+        return inspectionItemTitleValueDtos;
+    }
+
+    public void setInspectionItemTitleValueDtos(List<InspectionItemTitleValueDto> inspectionItemTitleValueDtos) {
+        this.inspectionItemTitleValueDtos = inspectionItemTitleValueDtos;
+    }
 }

+ 32 - 13
java110-bean/src/main/java/com/java110/dto/inspectionItemTitleValue/InspectionItemTitleValueDto.java

@@ -1,6 +1,7 @@
 package com.java110.dto.inspectionItemTitleValue;
 
 import com.java110.dto.PageDto;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -15,10 +16,11 @@ import java.util.Date;
 public class InspectionItemTitleValueDto extends PageDto implements Serializable {
 
     private String valueId;
-private String titleId;
-private String itemValue;
-private String communityId;
-private String seq;
+    private String titleId;
+    private String[] titleIds;
+    private String itemValue;
+    private String communityId;
+    private String seq;
 
 
     private Date createTime;
@@ -29,31 +31,40 @@ private String seq;
     public String getValueId() {
         return valueId;
     }
-public void setValueId(String valueId) {
+
+    public void setValueId(String valueId) {
         this.valueId = valueId;
     }
-public String getTitleId() {
+
+    public String getTitleId() {
         return titleId;
     }
-public void setTitleId(String titleId) {
+
+    public void setTitleId(String titleId) {
         this.titleId = titleId;
     }
-public String getItemValue() {
+
+    public String getItemValue() {
         return itemValue;
     }
-public void setItemValue(String itemValue) {
+
+    public void setItemValue(String itemValue) {
         this.itemValue = itemValue;
     }
-public String getCommunityId() {
+
+    public String getCommunityId() {
         return communityId;
     }
-public void setCommunityId(String communityId) {
+
+    public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
-public String getSeq() {
+
+    public String getSeq() {
         return seq;
     }
-public void setSeq(String seq) {
+
+    public void setSeq(String seq) {
         this.seq = seq;
     }
 
@@ -73,4 +84,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;
+    }
 }

+ 83 - 86
java110-db/src/main/resources/mapper/community/InspectionItemTitleV1ServiceDaoImplMapper.xml

@@ -5,111 +5,108 @@
 <mapper namespace="inspectionItemTitleV1ServiceDaoImpl">
 
 
-
-
-
     <!-- 保存项目题目信息 add by wuxw 2018-07-03 -->
     <insert id="saveInspectionItemTitleInfo" parameterType="Map">
         insert into inspection_item_title(
-item_id,title_type,item_title,title_id,community_id,seq
-) values (
-#{itemId},#{titleType},#{itemTitle},#{titleId},#{communityId},#{seq}
-)
+        item_id,title_type,item_title,title_id,community_id,seq
+        ) values (
+        #{itemId},#{titleType},#{itemTitle},#{titleId},#{communityId},#{seq}
+        )
     </insert>
 
 
-
     <!-- 查询项目题目信息 add by wuxw 2018-07-03 -->
     <select id="getInspectionItemTitleInfo" parameterType="Map" resultType="Map">
-        select  t.item_id,t.item_id itemId,t.title_type,t.title_type titleType,t.item_title,t.item_title itemTitle,t.title_id,t.title_id titleId,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id communityId,t.seq 
-from inspection_item_title t 
-where 1 =1 
-<if test="itemId !=null and itemId != ''">
-   and t.item_id= #{itemId}
-</if> 
-<if test="titleType !=null and titleType != ''">
-   and t.title_type= #{titleType}
-</if> 
-<if test="itemTitle !=null and itemTitle != ''">
-   and t.item_title= #{itemTitle}
-</if> 
-<if test="titleId !=null and titleId != ''">
-   and t.title_id= #{titleId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="communityId !=null and communityId != ''">
-   and t.community_id= #{communityId}
-</if> 
-<if test="seq !=null and seq != ''">
-   and t.seq= #{seq}
-</if> 
-order by t.create_time desc
-<if test="page != -1 and page != null ">
-   limit #{page}, #{row}
-</if> 
+        select t.item_id,t.item_id itemId,t.title_type,t.title_type titleType,t.item_title,t.item_title
+        itemTitle,t.title_id,t.title_id titleId,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id
+        communityId,t.seq,t.create_time createTime
+        from inspection_item_title t
+        where 1 =1
+        <if test="itemId !=null and itemId != ''">
+            and t.item_id= #{itemId}
+        </if>
+        <if test="titleType !=null and titleType != ''">
+            and t.title_type= #{titleType}
+        </if>
+        <if test="itemTitle !=null and itemTitle != ''">
+            and t.item_title= #{itemTitle}
+        </if>
+        <if test="titleId !=null and titleId != ''">
+            and t.title_id= #{titleId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="seq !=null and seq != ''">
+            and t.seq= #{seq}
+        </if>
+        order by t.seq
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
 
     </select>
 
 
-
-
     <!-- 修改项目题目信息 add by wuxw 2018-07-03 -->
     <update id="updateInspectionItemTitleInfo" parameterType="Map">
-        update  inspection_item_title t set t.status_cd = #{statusCd}
-<if test="newBId != null and newBId != ''">
-,t.b_id = #{newBId}
-</if> 
-<if test="itemId !=null and itemId != ''">
-, t.item_id= #{itemId}
-</if> 
-<if test="titleType !=null and titleType != ''">
-, t.title_type= #{titleType}
-</if> 
-<if test="itemTitle !=null and itemTitle != ''">
-, t.item_title= #{itemTitle}
-</if> 
-<if test="communityId !=null and communityId != ''">
-, t.community_id= #{communityId}
-</if> 
-<if test="seq !=null and seq != ''">
-, t.seq= #{seq}
-</if> 
- where 1=1 <if test="titleId !=null and titleId != ''">
-and t.title_id= #{titleId}
-</if> 
+        update inspection_item_title t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="itemId !=null and itemId != ''">
+            , t.item_id= #{itemId}
+        </if>
+        <if test="titleType !=null and titleType != ''">
+            , t.title_type= #{titleType}
+        </if>
+        <if test="itemTitle !=null and itemTitle != ''">
+            , t.item_title= #{itemTitle}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            , t.community_id= #{communityId}
+        </if>
+        <if test="seq !=null and seq != ''">
+            , t.seq= #{seq}
+        </if>
+        where 1=1
+        <if test="titleId !=null and titleId != ''">
+            and t.title_id= #{titleId}
+        </if>
 
     </update>
 
     <!-- 查询项目题目数量 add by wuxw 2018-07-03 -->
-     <select id="queryInspectionItemTitlesCount" parameterType="Map" resultType="Map">
-        select  count(1) count 
-from inspection_item_title t 
-where 1 =1 
-<if test="itemId !=null and itemId != ''">
-   and t.item_id= #{itemId}
-</if> 
-<if test="titleType !=null and titleType != ''">
-   and t.title_type= #{titleType}
-</if> 
-<if test="itemTitle !=null and itemTitle != ''">
-   and t.item_title= #{itemTitle}
-</if> 
-<if test="titleId !=null and titleId != ''">
-   and t.title_id= #{titleId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="communityId !=null and communityId != ''">
-   and t.community_id= #{communityId}
-</if> 
-<if test="seq !=null and seq != ''">
-   and t.seq= #{seq}
-</if> 
+    <select id="queryInspectionItemTitlesCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from inspection_item_title t
+        where 1 =1
+        <if test="itemId !=null and itemId != ''">
+            and t.item_id= #{itemId}
+        </if>
+        <if test="titleType !=null and titleType != ''">
+            and t.title_type= #{titleType}
+        </if>
+        <if test="itemTitle !=null and itemTitle != ''">
+            and t.item_title= #{itemTitle}
+        </if>
+        <if test="titleId !=null and titleId != ''">
+            and t.title_id= #{titleId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
+        <if test="seq !=null and seq != ''">
+            and t.seq= #{seq}
+        </if>
 
 
-     </select>
+    </select>
 
 </mapper>

+ 56 - 22
service-community/src/main/java/com/java110/community/cmd/inspectionItemTitle/ListInspectionItemTitleCmd.java

@@ -17,25 +17,24 @@ package com.java110.community.cmd.inspectionItemTitle;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
-import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.AbstractServiceCmdListener;
 import com.java110.core.event.cmd.CmdEvent;
-import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.inspectionItemTitle.InspectionItemTitleDto;
+import com.java110.dto.inspectionItemTitleValue.InspectionItemTitleValueDto;
 import com.java110.intf.community.IInspectionItemTitleV1InnerServiceSMO;
-import com.java110.po.inspectionItemTitle.InspectionItemTitlePo;
+import com.java110.intf.community.IInspectionItemTitleValueV1InnerServiceSMO;
 import com.java110.utils.exception.CmdException;
-import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import com.java110.dto.inspectionItemTitle.InspectionItemTitleDto;
-import java.util.List;
-import java.util.ArrayList;
-import org.springframework.http.ResponseEntity;
-import org.springframework.http.HttpStatus;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
 
 
 /**
@@ -51,10 +50,13 @@ import org.slf4j.LoggerFactory;
 @Java110Cmd(serviceCode = "inspectionItemTitle.listInspectionItemTitle")
 public class ListInspectionItemTitleCmd extends AbstractServiceCmdListener {
 
-  private static Logger logger = LoggerFactory.getLogger(ListInspectionItemTitleCmd.class);
+    private static Logger logger = LoggerFactory.getLogger(ListInspectionItemTitleCmd.class);
     @Autowired
     private IInspectionItemTitleV1InnerServiceSMO inspectionItemTitleV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IInspectionItemTitleValueV1InnerServiceSMO inspectionItemTitleValueV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         super.validatePageInfo(reqJson);
@@ -63,22 +65,54 @@ public class ListInspectionItemTitleCmd extends AbstractServiceCmdListener {
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
-           InspectionItemTitleDto inspectionItemTitleDto = BeanConvertUtil.covertBean(reqJson, InspectionItemTitleDto.class);
+        InspectionItemTitleDto inspectionItemTitleDto = BeanConvertUtil.covertBean(reqJson, InspectionItemTitleDto.class);
+
+        int count = inspectionItemTitleV1InnerServiceSMOImpl.queryInspectionItemTitlesCount(inspectionItemTitleDto);
+
+        List<InspectionItemTitleDto> inspectionItemTitleDtos = null;
+
+        if (count > 0) {
+            inspectionItemTitleDtos = inspectionItemTitleV1InnerServiceSMOImpl.queryInspectionItemTitles(inspectionItemTitleDto);
+            refreshTitileValues(inspectionItemTitleDtos);
+        } else {
+            inspectionItemTitleDtos = new ArrayList<>();
+        }
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, inspectionItemTitleDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    private void refreshTitileValues(List<InspectionItemTitleDto> inspectionItemTitleDtos) {
 
-           int count = inspectionItemTitleV1InnerServiceSMOImpl.queryInspectionItemTitlesCount(inspectionItemTitleDto);
+        if (inspectionItemTitleDtos == null || inspectionItemTitleDtos.size() < 1) {
+            return;
+        }
 
-           List<InspectionItemTitleDto> inspectionItemTitleDtos = null;
+        List<String> titleIds = new ArrayList<>();
+        for (InspectionItemTitleDto inspectionItemTitleDto : inspectionItemTitleDtos) {
+            titleIds.add(inspectionItemTitleDto.getTitleId());
+        }
 
-           if (count > 0) {
-               inspectionItemTitleDtos = inspectionItemTitleV1InnerServiceSMOImpl.queryInspectionItemTitles(inspectionItemTitleDto);
-           } else {
-               inspectionItemTitleDtos = new ArrayList<>();
-           }
+        InspectionItemTitleValueDto inspectionItemTitleValueDto = new InspectionItemTitleValueDto();
+        inspectionItemTitleValueDto.setTitleIds(titleIds.toArray(new String[titleIds.size()]));
+        inspectionItemTitleValueDto.setCommunityId(inspectionItemTitleDtos.get(0).getCommunityId());
+        List<InspectionItemTitleValueDto> inspectionItemTitleValueDtos
+                = inspectionItemTitleValueV1InnerServiceSMOImpl.queryInspectionItemTitleValues(inspectionItemTitleValueDto);
 
-           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, inspectionItemTitleDtos);
+        List<InspectionItemTitleValueDto> tmpInspectionItemTitleValueDtos = null;
+        for (InspectionItemTitleDto tmpInspectionItemTitleDto : inspectionItemTitleDtos) {
+            tmpInspectionItemTitleValueDtos = new ArrayList<>();
+            for (InspectionItemTitleValueDto inspectionItemTitleValueDto1 : inspectionItemTitleValueDtos) {
+                if (tmpInspectionItemTitleDto.getTitleId().equals(inspectionItemTitleValueDto1.getTitleId())) {
+                    tmpInspectionItemTitleValueDtos.add(inspectionItemTitleValueDto1);
+                }
+            }
+            tmpInspectionItemTitleDto.setInspectionItemTitleValueDtos(tmpInspectionItemTitleValueDtos);
+        }
 
-           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
-           cmdDataFlowContext.setResponseEntity(responseEntity);
     }
 }