Browse Source

优化代码

wuxw 3 years ago
parent
commit
13d57cb266

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

@@ -44,6 +44,7 @@ public class RoomDto extends PageDto implements Serializable {
     private String roomNumLike;
 
     private String unitId;
+    private String[] unitIds;
     private String unitArea;
     private String apartment;
     private String apartmentName;
@@ -428,4 +429,12 @@ public class RoomDto extends PageDto implements Serializable {
     public void setRoomName(String roomName) {
         this.roomName = roomName;
     }
+
+    public String[] getUnitIds() {
+        return unitIds;
+    }
+
+    public void setUnitIds(String[] unitIds) {
+        this.unitIds = unitIds;
+    }
 }

+ 54 - 0
java110-db/src/main/resources/mapper/community/RoomServiceDaoImplMapper.xml

@@ -173,6 +173,12 @@
         <if test="unitId !=null and unitId != ''">
             and t.unit_id= #{unitId}
         </if>
+        <if test="unitIds != null">
+            and t.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
@@ -288,6 +294,12 @@
         <if test="unitId !=null and unitId != ''">
             and t.unit_id= #{unitId}
         </if>
+        <if test="unitIds != null">
+            and t.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
@@ -353,6 +365,12 @@
         <if test="unitId !=null and unitId != ''">
             and t.unit_id= #{unitId}
         </if>
+        <if test="unitIds != null">
+            and t.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
@@ -429,6 +447,12 @@
         <if test="unitId !=null and unitId != ''">
             and t.unit_id= #{unitId}
         </if>
+        <if test="unitIds != null">
+            and t.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
@@ -493,6 +517,12 @@
         <if test="unitId !=null and unitId != ''">
             and t.unit_id= #{unitId}
         </if>
+        <if test="unitIds != null">
+            and t.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
@@ -562,6 +592,12 @@
         <if test="unitId !=null and unitId != ''">
             and t.unit_id= #{unitId}
         </if>
+        <if test="unitIds != null">
+            and t.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
@@ -634,6 +670,12 @@
         <if test="unitId !=null and unitId != ''">
             and t.unit_id= #{unitId}
         </if>
+        <if test="unitIds != null">
+            and t.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
         </if>
@@ -727,6 +769,12 @@
         <if test="unitId !=null and unitId != ''">
             and t.unit_id= #{unitId}
         </if>
+        <if test="unitIds != null">
+            and t.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="unitNum !=null and unitNum != ''">
             and u.unit_num= #{unitNum}
         </if>
@@ -865,6 +913,12 @@
         <if test="unitId !=null and unitId != ''">
             and t.unit_id= #{unitId}
         </if>
+        <if test="unitIds != null">
+            and t.unit_id in
+            <foreach collection="unitIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="state !=null and state != ''">
             and t.state= #{state}
         </if>

+ 22 - 4
service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java

@@ -10,11 +10,9 @@ import com.java110.dto.FloorDto;
 import com.java110.dto.RoomDto;
 import com.java110.dto.UnitDto;
 import com.java110.dto.basePrivilege.BasePrivilegeDto;
+import com.java110.dto.dataPrivilegeStaff.DataPrivilegeStaffDto;
 import com.java110.dto.owner.OwnerDto;
-import com.java110.intf.community.IFloorInnerServiceSMO;
-import com.java110.intf.community.IMenuInnerServiceSMO;
-import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.community.IUnitInnerServiceSMO;
+import com.java110.intf.community.*;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
 import com.java110.utils.constant.ResponseConstant;
@@ -83,6 +81,9 @@ public class QueryRoomsCmd extends Cmd {
     @Autowired
     private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
 
+    @Autowired
+    private IDataPrivilegeUnitV1InnerServiceSMO dataPrivilegeUnitV1InnerServiceSMOImpl;
+
     @Autowired
     private IMenuInnerServiceSMO menuInnerServiceSMOImpl;
 
@@ -126,6 +127,15 @@ public class QueryRoomsCmd extends Cmd {
 //                roomDto.setRoomNumLike("");
 //            }
 //        }
+
+        //员工数据权限
+        String staffId = cmdDataFlowContext.getReqHeaders().get("user-id");
+        DataPrivilegeStaffDto dataPrivilegeStaffDto = new DataPrivilegeStaffDto();
+        dataPrivilegeStaffDto.setStaffId(staffId);
+        String[] unitIds = dataPrivilegeUnitV1InnerServiceSMOImpl.queryDataPrivilegeUnitsByStaff(dataPrivilegeStaffDto);
+
+
+
         String roomId = "";
         String unitId = "";
         if (reqJson.containsKey("flag") && "0".equals(reqJson.getString("flag"))
@@ -141,6 +151,9 @@ public class QueryRoomsCmd extends Cmd {
                     UnitDto unitDto = new UnitDto();
                     unitDto.setFloorId(floor.getFloorId());
                     unitDto.setUnitNum(reqJson.getString("unitNum"));
+                    if(unitIds != null && unitIds.length>0){
+                        unitDto.setUnitIds(unitIds);
+                    }
                     List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
                     if (unitDtos != null && unitDtos.size() > 0) {
                         for (UnitDto unit : unitDtos) {
@@ -197,6 +210,11 @@ public class QueryRoomsCmd extends Cmd {
             }
         }
         ApiRoomVo apiRoomVo = new ApiRoomVo();
+
+        //员工是否 有权限查询
+        if(unitIds != null && unitIds.length>0){
+            roomDto.setUnitIds(unitIds);
+        }
         //查询总记录数
         int total = roomInnerServiceSMOImpl.queryRoomsCount(roomDto);
         apiRoomVo.setTotal(total);

+ 5 - 0
service-community/src/main/java/com/java110/community/smo/impl/DataPrivilegeUnitV1InnerServiceSMOImpl.java

@@ -27,6 +27,7 @@ import com.java110.utils.util.BeanConvertUtil;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.user.UserDto;
 import com.java110.dto.PageDto;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -117,6 +118,10 @@ public class DataPrivilegeUnitV1InnerServiceSMOImpl extends BaseServiceSMO imple
     @Override
     public String[] queryDataPrivilegeUnitsByStaff(@RequestBody DataPrivilegeStaffDto dataPrivilegeStaffDto) {
 
+        if(StringUtil.isEmpty(dataPrivilegeStaffDto.getStaffId())){
+            return new String[0];
+        }
+
         List<DataPrivilegeStaffDto> dataPrivilegeStaffDtos = dataPrivilegeStaffV1InnerServiceSMOImpl.queryDataPrivilegeStaffs(dataPrivilegeStaffDto);
 
         if(dataPrivilegeStaffDtos == null || dataPrivilegeStaffDtos.size()<1){