Преглед изворни кода

一个社区或园区多车场处理

fangq пре 4 година
родитељ
комит
fa1889a066

+ 44 - 3
smart-city-grid-yinchuan-manage/src/views/community/permanentPeople.vue

@@ -40,7 +40,20 @@
           <div class="el-form-item el-form-item--feedback el-form-item--small avue-form__item--">
             <label class="el-form-item__label" style="width: 80px">人员标签:</label>
             <div class="el-form-item__content" style="margin-left: 80px">
-              <avue-select size="small" multiple  v-model="personTagValue"  placeholder="请选择人员标签"   :dic="personTag"></avue-select>
+<!--              <avue-select size="small" multiple  v-model="personTagValue"  placeholder="请选择人员标签"   :dic="personTag"></avue-select>-->
+              <el-select v-model="personTagValue" clearable placeholder="请选择">
+                <el-option-group
+                  v-for="group in personTagOption"
+                  :key="group.label"
+                  :label="group.label">
+                  <el-option
+                    v-for="item in group.options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value">
+                  </el-option>
+                </el-option-group>
+              </el-select>
             </div>
           </div>
         </div>
@@ -93,7 +106,35 @@ import CyExcelImport from "../../components/excel/cy-excel-import";
     data() {
       return {
         personTagValue: '',
-        personTag: [],
+        personTagOption: [{
+          label: '特殊人群',
+          options: [
+            {value: '1', label: '刑满释放'},
+            {value: '2', label: '社区矫正'},
+            {value: '3', label: '重点青少年'},
+            {value: '4', label: '吸毒'},
+            {value: '5', label: '艾滋病'},
+            {value: '6', label: '精神病'},
+          ]
+        }, {
+          label: '重点人群',
+          options: [
+            {value: '7', label: '服刑人群'},
+            {value: '8', label: '非法组织'},
+            {value: '9', label: '上访人员'},
+          ]
+        }, {
+          label: '社会保障',
+          options: [
+            {value: '10', label: '五保'},
+            {value: '11', label: '低保'},
+            {value: '12', label: '孤儿'},
+            {value: '13', label: '残疾'},
+            {value: '14', label: '优抚'},
+            {value: '15', label: '失独老人'},
+            {value: '16', label: '孤寡老人'},
+          ],
+        }],
         desensitize: false,
         personAdd: false,
         selectedPersonId: "",
@@ -917,7 +958,7 @@ import CyExcelImport from "../../components/excel/cy-excel-import";
       },
       searchChange(params, done) {
         this.query = params;
-        params.personTag= this.personTagValue.join(',');
+        params.personTag= this.personTagValue;
         this.page.currentPage = 1;
         this.onLoad(this.page, params);
         done();

+ 4 - 2
smart-city-grid-yinchuan-server/src/main/java/org/springblade/community/parkinglot/service/IParkingLotService.java

@@ -21,6 +21,8 @@ import org.springblade.community.parkinglot.vo.ParkingLotVO;
 import org.springblade.core.mp.base.BaseService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  *  服务类
  *
@@ -38,9 +40,9 @@ public interface IParkingLotService extends BaseService<ParkingLot> {
 	 */
 	IPage<ParkingLotVO> selectParkingLotPage(IPage<ParkingLotVO> page, ParkingLotVO parkingLot);
 
-	ParkingLot getByAgencyId(Long agencyId);
+	List<ParkingLot> getByAgencyId(Long agencyId);
 
-	ParkingLot getByResidentialId(Long residentialId);
+	List<ParkingLot> getByResidentialId(Long residentialId);
 
 	ParkingLot getByKey(String mac);
 

+ 6 - 4
smart-city-grid-yinchuan-server/src/main/java/org/springblade/community/parkinglot/service/impl/ParkingLotServiceImpl.java

@@ -25,6 +25,8 @@ import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+
 /**
  *  服务实现类
  *
@@ -40,17 +42,17 @@ public class ParkingLotServiceImpl extends BaseServiceImpl<ParkingLotMapper, Par
 	}
 
 	@Override
-	public ParkingLot getByAgencyId(Long agencyId) {
+	public List<ParkingLot> getByAgencyId(Long agencyId) {
 		LambdaQueryWrapper<ParkingLot> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(ParkingLot::getAgencyId, agencyId);
-		return baseMapper.selectOne(lambdaQueryWrapper);
+		return baseMapper.selectList(lambdaQueryWrapper);
 	}
 
 	@Override
-	public ParkingLot getByResidentialId(Long residentialId) {
+	public List<ParkingLot> getByResidentialId(Long residentialId) {
 		LambdaQueryWrapper<ParkingLot> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(ParkingLot::getResidentialId, residentialId);
-		return baseMapper.selectOne(lambdaQueryWrapper);
+		return baseMapper.selectList(lambdaQueryWrapper);
 	}
 
 	@Override

+ 22 - 13
smart-city-grid-yinchuan-server/src/main/java/org/springblade/community/tdcarrecord/controller/TdCarRecordController.java

@@ -45,6 +45,10 @@ import org.springblade.community.tdcarrecord.wrapper.TdCarRecordWrapper;
 import org.springblade.community.tdcarrecord.service.ITdCarRecordService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  *  控制器
  *
@@ -80,24 +84,27 @@ public class TdCarRecordController extends BladeController {
 	public R<IPage<TdCarRecordVO>> list(TdTdCarRecordDTO tdCarRecord, Query query, BladeUser bladeUser) {
 		String tenantId = bladeUser.getTenantId();
 		LambdaQueryWrapper<TdCarRecord> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		ParkingLot parkingLot = null;
+		List<String> parkingLotKey = null;
 		if(tenantId.equals("000000")){
 			if(tdCarRecord.getResidentialId() == null){
 				return R.data(null);
 			}
-			parkingLot = parkingLotService.getByResidentialId(tdCarRecord.getResidentialId());
-			Assert.notNull(parkingLot, "该小区下没有创建车场");
+			List<ParkingLot> lotList = parkingLotService.getByResidentialId(tdCarRecord.getResidentialId());
+			Assert.isTrue(lotList.size() > 0, "该小区下没有创建车场");
+			parkingLotKey = lotList.stream().map(lot -> lot.getParkKey()).collect(Collectors.toList());
 		}else{
 			if(tdCarRecord.getAgencyId() == null){
 				return R.data(null);
 			}
-			parkingLot = parkingLotService.getByAgencyId(tdCarRecord.getAgencyId());
-			Assert.notNull(parkingLot, "该园区下没有创建车场");
+			List<ParkingLot> lotList = parkingLotService.getByAgencyId(tdCarRecord.getAgencyId());
+			Assert.isTrue(lotList.size() > 0, "该园区下没有创建车场");
+			parkingLotKey = lotList.stream().map(lot -> lot.getParkKey()).collect(Collectors.toList());
 		}
+
 		if(tdCarRecord.getInOrOut() == 1){
-			lambdaQueryWrapper.eq(TdCarRecord::getInMac, parkingLot.getParkKey());
+			lambdaQueryWrapper.in(TdCarRecord::getInMac, parkingLotKey);
 		}else{
-			lambdaQueryWrapper.eq(TdCarRecord::getOutMac, parkingLot.getParkKey());
+			lambdaQueryWrapper.in(TdCarRecord::getOutMac, parkingLotKey);
 		}
 		lambdaQueryWrapper.orderByDesc(TdCarRecord::getCreateTime);
 		IPage<TdCarRecord> pages = carRecordService.page(Condition.getPage(query), lambdaQueryWrapper);
@@ -113,28 +120,30 @@ public class TdCarRecordController extends BladeController {
 	public R<IPage<TdCarRecordVO>> getRecord(TdTdCarRecordDTO tdCarRecord, Query query, BladeUser bladeUser) {
 		String tenantId = bladeUser.getTenantId();
 		LambdaQueryWrapper<TdCarRecord> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		ParkingLot parkingLot = null;
+		List<String> parkingLotKey = new ArrayList<>();
 		if(tenantId.equals("000000")){
 			if(tdCarRecord.getResidentialId() == null){
 				return R.data(null);
 			}
-			parkingLot = parkingLotService.getByResidentialId(tdCarRecord.getResidentialId());
-			if(parkingLot == null){
+			List<ParkingLot> lotList = parkingLotService.getByResidentialId(tdCarRecord.getResidentialId());
+			if(lotList == null || lotList.size()  == 0){
 				return R.data(new Page<TdCarRecordVO>());
 			}
+			parkingLotKey = lotList.stream().map(lot -> lot.getParkKey()).collect(Collectors.toList());
 		}else{
 			LambdaQueryWrapper<ParkingLot> parkLogWrapper = new LambdaQueryWrapper<>();
 			parkLogWrapper.eq(ParkingLot::getTenantId, bladeUser.getTenantId());
-			parkingLot = parkingLotService.getOne(parkLogWrapper);
+			ParkingLot parkingLot = parkingLotService.getOne(parkLogWrapper);
 			if(parkingLot == null){
 				return R.data(new Page<TdCarRecordVO>());
 			}
+			parkingLotKey.add(parkingLot.getParkKey());
 		}
 		if(tdCarRecord.getInOrOut() != null){
 			if(tdCarRecord.getInOrOut() == 1){
-				lambdaQueryWrapper.eq(TdCarRecord::getInMac, parkingLot.getParkKey());
+				lambdaQueryWrapper.in(TdCarRecord::getInMac, parkingLotKey);
 			}else{
-				lambdaQueryWrapper.eq(TdCarRecord::getOutMac, parkingLot.getParkKey());
+				lambdaQueryWrapper.in(TdCarRecord::getOutMac, parkingLotKey);
 			}
 		}
 		lambdaQueryWrapper.orderByDesc(TdCarRecord::getCreateTime);

+ 5 - 4
smart-city-grid-yinchuan-server/src/main/java/org/springblade/statistics/controller/StatisticsController.java

@@ -822,10 +822,11 @@ public class StatisticsController extends BladeController {
 		Integer personInCount = 0;
 		Integer personOutCount = 0;
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-		ParkingLot parkingLot = parkingLotService.getByAgencyId(Long.valueOf(agencyId));
-		if(parkingLot != null){
-			carInCount = tdCarRecordService.getBaseMapper().selectCount(new QueryWrapper<>(new TdCarRecord()).lambda().eq(TdCarRecord::getInMac, parkingLot.getParkKey()).like(TdCarRecord::getCreateTime, sdf.format(new Date())));
-			carOutCount = tdCarRecordService.getBaseMapper().selectCount(new QueryWrapper<>(new TdCarRecord()).lambda().eq(TdCarRecord::getOutMac, parkingLot.getParkKey()).like(TdCarRecord::getCreateTime, sdf.format(new Date())));
+		List<ParkingLot> lotList = parkingLotService.getByAgencyId(Long.valueOf(agencyId));
+		List<String> lotKeys = lotList.stream().map(lot -> lot.getParkKey()).collect(Collectors.toList());
+		if(lotKeys.size() > 0){
+			carInCount = tdCarRecordService.getBaseMapper().selectCount(new QueryWrapper<>(new TdCarRecord()).lambda().in(TdCarRecord::getInMac, lotKeys).like(TdCarRecord::getCreateTime, sdf.format(new Date())));
+			carOutCount = tdCarRecordService.getBaseMapper().selectCount(new QueryWrapper<>(new TdCarRecord()).lambda().in(TdCarRecord::getOutMac, lotKeys).like(TdCarRecord::getCreateTime, sdf.format(new Date())));
 		}
 		List<SmartVideoMonitor> smartVideoMonitorList = this.smartVideoMonitorService.getByAgencyId(Long.valueOf(agencyId));
 		if(smartVideoMonitorList != null && smartVideoMonitorList.size() > 0){