Browse Source

Merge remote-tracking branch 'origin/demo_' into demo_

1 năm trước cách đây
mục cha
commit
b2df492bd9

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/dto/sb/SbInfoDTO.java

@@ -662,4 +662,6 @@ public class SbInfoDTO extends BaseDTO implements Serializable {
      * 设备类型
      */
     private List<String> typeList;
+
+    private Integer typeFlag; // 1 代表按照设备类别分组统计
 }

+ 7 - 0
platform-dao/src/main/java/com/platform/dao/mapper/sb/SbPositionMapper.java

@@ -42,4 +42,11 @@ public interface SbPositionMapper extends MyMapper<SbPosition> {
     String selectNameById(String object);
 
     List<SbPositionVO> selectLongYanList(SbPositionDTO dto);
+
+    /**
+     * 查询车间数
+     * @param object :
+     * @return :
+     */
+    Integer countNum(String object);
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/sb/SbPositionVO.java

@@ -109,5 +109,9 @@ public class SbPositionVO extends BaseVO implements Serializable {
      */
     private String updateUserName;
 
+    private Integer workshopNum; // 车间数
 
+    private Integer sbTypeNum; // 设备类型数目
+
+    private Integer sbNum; // 设备数
 }

+ 6 - 1
platform-dao/src/main/resources/mapper/sb/SbInfoMapper.xml

@@ -886,7 +886,6 @@ sb.check_type
                 </foreach>
             </if>
         </where>
-
         GROUP BY type_id
     </select>
 
@@ -895,6 +894,9 @@ sb.check_type
     </update>
 
     <select id="countNum" parameterType="com.platform.dao.dto.sb.SbInfoDTO" resultType="java.lang.Integer">
+        <if test="typeFlag != null">
+            select count(1) from (
+        </if>
         select count(1) from t_sb_info
         <where>
             <if test="positionId != null and positionId != ''">
@@ -926,6 +928,9 @@ sb.check_type
                 </when>
             </choose>
         </where>
+        <if test="typeFlag != null">
+            group by type_id ) t
+        </if>
     </select>
 
     <select id="getsbNumsByType" parameterType="com.platform.dao.dto.sb.SbInfoDTO"

+ 9 - 0
platform-dao/src/main/resources/mapper/sb/SbPositionMapper.xml

@@ -37,6 +37,9 @@
         <if test="lightFlag != null">
             and position.light_flag = #{lightFlag}
         </if>
+        <if test="type != null">
+            and position.type = #{type}
+        </if>
         <if test="userName != null and userName != ''">
             and ( user.real_name like concat('%',#{userName},'%') or
             user.username like concat('%',#{userName},'%'))
@@ -74,4 +77,10 @@
     </where>
      order by sort asc
     </select>
+
+    <select id="countNum" parameterType="java.lang.Object" resultType="java.lang.Integer">
+            select count(1)
+        from t_sb_position
+        where parent_id = #{value}
+    </select>
 </mapper>

+ 21 - 1
platform-service/src/main/java/com/platform/service/sb/impl/SbPositionServiceImpl.java

@@ -7,6 +7,7 @@ import com.platform.common.util.ListUtils;
 import com.platform.common.util.MapUtils;
 import com.platform.common.util.StringUtils;
 import com.platform.dao.bean.MyVOPage;
+import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.dto.sb.SbPositionDTO;
 import com.platform.dao.dto.sqarepartmanage.SparePartUsedDTO;
 import com.platform.dao.entity.part.PartInfo;
@@ -278,7 +279,26 @@ public class SbPositionServiceImpl extends BaseServiceImpl<SbPositionMapper, SbP
     @Override
     public MyVOPage<SbPositionVO> selectVOPage(SbPositionDTO model, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);
-        return new MyVOPage<>(mapper.selectVOList(model));
+        MyVOPage<SbPositionVO> pageInfos = new MyVOPage<>(mapper.selectVOList(model));
+        if(model.getType() != null && pageInfos != null && pageInfos.getRows() != null && pageInfos.getRows().size() > 0 ){
+            for(SbPositionVO vo : pageInfos.getRows()){
+                switch (model.getType()){
+                    case 1 :
+                        // 厂区统计 车间数量
+                        vo.setWorkshopNum(mapper.countNum(vo.getId()));
+                        break;
+                    case 2:
+                        // 车间统计
+                        SbInfoDTO sbInfoDTO = new SbInfoDTO();
+                        sbInfoDTO.setPositionId(vo.getId());
+                        vo.setSbNum(sbInfoMapper.countNum(sbInfoDTO));
+                        sbInfoDTO.setTypeFlag(1);
+                        vo.setSbTypeNum(sbInfoMapper.countNum(sbInfoDTO));
+                        break;
+                }
+            }
+        }
+        return pageInfos;
     }
 
     @Override