小区唯一

master
CJYXTX\27961 7 months ago
parent 4b455601f7
commit ceb2a28cf4

@ -18,6 +18,10 @@ public interface HousingEstateService extends IService<HousingEstateEntity> {
List<HousingEstateEntity> getTypeList(HousingEstatePagination housingEstatePagination,String dataType);
List<HousingEstateEntity> getHousingList(HousingEstatePagination housingEstatePagination);
List<HousingEstateEntity> getHousingTypeList(HousingEstatePagination housingEstatePagination,String dataType);
HousingEstateEntity getInfo(String id);
void delete(HousingEstateEntity entity);

@ -50,6 +50,8 @@ public class EnterpriserecyclestationServiceImpl extends ServiceImpl<Enterpriser
private RecyclestationpriceService recyclestationpriceService;
@Autowired
private RecyclestationhousingestateService recyclestationhousingestateService;
@Autowired
private HousingEstateService housingEstateService;
@Override
public List<EnterpriserecyclestationEntity> getList(EnterpriserecyclestationPagination enterpriserecyclestationPagination){
return getTypeList(enterpriserecyclestationPagination,enterpriserecyclestationPagination.getDataType());
@ -613,15 +615,30 @@ public class EnterpriserecyclestationServiceImpl extends ServiceImpl<Enterpriser
RecyclestationhousingestatequeryWrapper.lambda().eq(RecyclestationhousingestateEntity::getStationId, entity.getId());
recyclestationhousingestateService.remove(RecyclestationhousingestatequeryWrapper);
}
if (enterpriserecyclestationForm.getRecyclestationhousingestateList()!=null){
List<RecyclestationhousingestateEntity> tableField119 = JsonUtil.getJsonToList(enterpriserecyclestationForm.getRecyclestationhousingestateList(),RecyclestationhousingestateEntity.class);
for(RecyclestationhousingestateEntity entitys : tableField119){
entitys.setId(RandomUtil.uuId());
entitys.setStationId(entity.getId());
//修改存储新的回收站id
QueryWrapper<HousingEstateEntity> queryWrapper =new QueryWrapper<>();
queryWrapper.lambda().eq(HousingEstateEntity::getId, entitys.getHousingEstateId());
List<HousingEstateEntity> housingEstateEntityList = housingEstateService.list(queryWrapper);
if (housingEstateEntityList.size()>0){
for (HousingEstateEntity housingEstateEntity: housingEstateEntityList) {
housingEstateEntity.setStationId(entity.getId());
}
}
housingEstateService.updateBatchById(housingEstateEntityList);
if(isSave){
}else{
}
recyclestationhousingestateService.saveOrUpdate(entitys);
}
}
}

@ -253,6 +253,220 @@ public class HousingEstateServiceImpl extends ServiceImpl<HousingEstateMapper, H
return this.list(housingEstateQueryWrapper);
}
}
@Override
public List<HousingEstateEntity> getHousingList(HousingEstatePagination housingEstatePagination){
return getHousingTypeList(housingEstatePagination,housingEstatePagination.getDataType());
}
/** 列表查询 */
@Override
public List<HousingEstateEntity> getHousingTypeList(HousingEstatePagination housingEstatePagination,String dataType){
String userId=userProvider.get().getUserId();
List<String> AllIdList =new ArrayList();
List<List<String>> intersectionList =new ArrayList<>();
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
String columnData = !isPc ? HousingEstateConstant.getAppColumnData() : HousingEstateConstant.getColumnData();
ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class);
String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList());
int total=0;
int housingEstateNum =0;
QueryWrapper<HousingEstateEntity> housingEstateQueryWrapper=new QueryWrapper<>();
List<String> allSuperIDlist = new ArrayList<>();
String superOp ="";
if (ObjectUtil.isNotEmpty(housingEstatePagination.getSuperQueryJson())){
List<String> allSuperList = new ArrayList<>();
List<List<String>> intersectionSuperList = new ArrayList<>();
String queryJson = housingEstatePagination.getSuperQueryJson();
SuperJsonModel superJsonModel = JsonUtil.getJsonToBean(queryJson, SuperJsonModel.class);
int superNum = 0;
QueryWrapper<HousingEstateEntity> housingEstateSuperWrapper = new QueryWrapper<>();
housingEstateSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(housingEstateSuperWrapper,HousingEstateEntity.class,queryJson,"0"));
int housingEstateNum1 = housingEstateSuperWrapper.getExpression().getNormal().size();
if (housingEstateNum1>0){
List<String> housingEstateList =this.list(housingEstateSuperWrapper).stream().map(HousingEstateEntity::getId).collect(Collectors.toList());
allSuperList.addAll(housingEstateList);
intersectionSuperList.add(housingEstateList);
superNum++;
}
superOp = superNum > 0 ? superJsonModel.getMatchLogic() : "";
//and or
if(superOp.equalsIgnoreCase("and")){
allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList);
}else{
allSuperIDlist = allSuperList;
}
}
List<String> allRuleIDlist = new ArrayList<>();
String ruleOp ="";
if (ObjectUtil.isNotEmpty(ruleJson)){
List<String> allRuleList = new ArrayList<>();
List<List<String>> intersectionRuleList = new ArrayList<>();
SuperJsonModel ruleJsonModel = JsonUtil.getJsonToBean(ruleJson, SuperJsonModel.class);
int ruleNum = 0;
QueryWrapper<HousingEstateEntity> housingEstateSuperWrapper = new QueryWrapper<>();
housingEstateSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(housingEstateSuperWrapper,HousingEstateEntity.class,ruleJson,"0"));
int housingEstateNum1 = housingEstateSuperWrapper.getExpression().getNormal().size();
if (housingEstateNum1>0){
List<String> housingEstateList =this.list(housingEstateSuperWrapper).stream().map(HousingEstateEntity::getId).collect(Collectors.toList());
allRuleList.addAll(housingEstateList);
intersectionRuleList.add(housingEstateList);
ruleNum++;
}
ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : "";
//and or
if(ruleOp.equalsIgnoreCase("and")){
allRuleIDlist = generaterSwapUtil.getIntersection(intersectionRuleList);
}else{
allRuleIDlist = allRuleList;
}
}
boolean pcPermission = false;
boolean appPermission = false;
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
Object housingEstateObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(housingEstateQueryWrapper,HousingEstateEntity.class,housingEstatePagination.getMenuId(),"0"));
if (ObjectUtil.isEmpty(housingEstateObj)){
return new ArrayList<>();
} else {
housingEstateQueryWrapper = (QueryWrapper<HousingEstateEntity>)housingEstateObj;
if( housingEstateQueryWrapper.getExpression().getNormal().size()>0){
housingEstateNum++;
}
}
}
}
if(!isPc && appPermission){
if (!userProvider.get().getIsAdministrator()){
Object housingEstateObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(housingEstateQueryWrapper,HousingEstateEntity.class,housingEstatePagination.getMenuId(),"0"));
if (ObjectUtil.isEmpty(housingEstateObj)){
return new ArrayList<>();
} else {
housingEstateQueryWrapper = (QueryWrapper<HousingEstateEntity>)housingEstateObj;
if( housingEstateQueryWrapper.getExpression().getNormal().size()>0){
housingEstateNum++;
}
}
}
}
if(isPc){
if(ObjectUtil.isNotEmpty(housingEstatePagination.getName())){
housingEstateNum++;
String value = housingEstatePagination.getName() instanceof List ?
JsonUtil.getObjectToString(housingEstatePagination.getName()) :
String.valueOf(housingEstatePagination.getName());
housingEstateQueryWrapper.lambda().like(HousingEstateEntity::getName,value);
}
if(housingEstatePagination.getExcludeIdList() != null && housingEstatePagination.getExcludeIdList().size() > 0){
housingEstateNum++;
housingEstateQueryWrapper.lambda().notIn(HousingEstateEntity::getId,housingEstatePagination.getExcludeIdList());
}
// if(housingEstatePagination.getStationId() != null){
// housingEstateNum++;
// housingEstateQueryWrapper.lambda().notIn(HousingEstateEntity::getId,housingEstatePagination.getStationId());
// }
if(ObjectUtil.isNotEmpty(housingEstatePagination.getSourceType())){
housingEstateNum++;
List<String> idList = new ArrayList<>();
try {
String[][] sourceType = JsonUtil.getJsonToBean(housingEstatePagination.getSourceType(),String[][].class);
for(int i=0;i<sourceType.length;i++){
if(sourceType[i].length>0){
idList.add(JsonUtil.getObjectToString(Arrays.asList(sourceType[i])));
}
}
}catch (Exception e1){
try {
List<String> sourceType = JsonUtil.getJsonToList(housingEstatePagination.getSourceType(),String.class);
if(sourceType.size()>0){
idList.addAll(sourceType);
}
}catch (Exception e2){
idList.add(String.valueOf(housingEstatePagination.getSourceType()));
}
}
housingEstateQueryWrapper.lambda().and(t->{
idList.forEach(tt->{
t.like(HousingEstateEntity::getSourceType, tt).or();
});
});
}
if(ObjectUtil.isNotEmpty(housingEstatePagination.getAddress())){
housingEstateNum++;
String value = housingEstatePagination.getAddress() instanceof List ?
JsonUtil.getObjectToString(housingEstatePagination.getAddress()) :
String.valueOf(housingEstatePagination.getAddress());
housingEstateQueryWrapper.lambda().like(HousingEstateEntity::getAddress,value);
}
}
List<String> intersection = generaterSwapUtil.getIntersection(intersectionList);
if (total>0){
if (intersection.size()==0){
intersection.add("jnpfNullList");
}
housingEstateQueryWrapper.lambda().in(HousingEstateEntity::getId, intersection);
}
//是否有高级查询
if (StringUtil.isNotEmpty(superOp)){
if (allSuperIDlist.size()==0){
allSuperIDlist.add("jnpfNullList");
}
List<String> finalAllSuperIDlist = allSuperIDlist;
housingEstateQueryWrapper.lambda().and(t->t.in(HousingEstateEntity::getId, finalAllSuperIDlist));
}
//是否有数据过滤查询
if (StringUtil.isNotEmpty(ruleOp)){
if (allRuleIDlist.size()==0){
allRuleIDlist.add("jnpfNullList");
}
List<String> finalAllRuleIDlist = allRuleIDlist;
housingEstateQueryWrapper.lambda().and(t->t.in(HousingEstateEntity::getId, finalAllRuleIDlist));
}
//排序
if(StringUtil.isEmpty(housingEstatePagination.getSidx())){
housingEstateQueryWrapper.lambda().orderByDesc(HousingEstateEntity::getId);
}else{
try {
String sidx = housingEstatePagination.getSidx();
String[] strs= sidx.split("_name");
HousingEstateEntity housingEstateEntity = new HousingEstateEntity();
Field declaredField = housingEstateEntity.getClass().getDeclaredField(strs[0]);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
housingEstateQueryWrapper="asc".equals(housingEstatePagination.getSort().toLowerCase())?housingEstateQueryWrapper.orderByAsc(value):housingEstateQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if("0".equals(dataType)){
if((total>0 && AllIdList.size()>0) || total==0){
Page<HousingEstateEntity> page=new Page<>(housingEstatePagination.getCurrentPage(), housingEstatePagination.getPageSize());
IPage<HousingEstateEntity> userIPage=this.page(page, housingEstateQueryWrapper);
return housingEstatePagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
List<HousingEstateEntity> list = new ArrayList();
return housingEstatePagination.setData(list, list.size());
}
}else{
return this.list(housingEstateQueryWrapper);
}
}
@Override
public HousingEstateEntity getInfo(String id){
QueryWrapper<HousingEstateEntity> queryWrapper=new QueryWrapper<>();

@ -81,6 +81,40 @@ public class HousingEstateController {
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
*
*
* @param housingEstatePagination
* @return
*/
@Operation(summary = "获取列表")
@PostMapping("/getHousingList")
public ActionResult housinglist(@RequestBody HousingEstatePagination housingEstatePagination)throws IOException{
List<HousingEstateEntity> list= housingEstateService.getHousingList(housingEstatePagination);
List<Map<String, Object>> realList=new ArrayList<>();
for (HousingEstateEntity entity : list) {
if (entity.getStationId()==null){
Map<String, Object> housingEstateMap=JsonUtil.entityToMap(entity);
housingEstateMap.put("id", housingEstateMap.get("id"));
//副表数据
//子表数据
realList.add(housingEstateMap);
}else if (entity.getStationId()!=null){
}
}
//数据转换
realList = generaterSwapUtil.swapDataList(realList, HousingEstateConstant.getFormData(), HousingEstateConstant.getColumnData(), housingEstatePagination.getModuleId(),false);
//返回对象
PageListVO vo = new PageListVO();
vo.setList(realList);
PaginationVO page = JsonUtil.getJsonToBean(housingEstatePagination, PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
*
*

@ -21,9 +21,9 @@ public class HousingEstateEntity {
@TableField(value = "ADDRESS" , updateStrategy = FieldStrategy.IGNORED)
private String address;
@TableField(value = "LONGITUDE" , updateStrategy = FieldStrategy.IGNORED)
private Double longitude;
private String longitude;
@TableField(value = "LATITUDE" , updateStrategy = FieldStrategy.IGNORED)
private Double latitude;
private String latitude;
@TableField(value = "HAS_SCHEDULE" , updateStrategy = FieldStrategy.IGNORED)
private Integer hasSchedule;
@TableField(value = "RECYCLE_ADDRESS" , updateStrategy = FieldStrategy.IGNORED)
@ -66,4 +66,7 @@ public class HousingEstateEntity {
@TableField(value = "ENTERPRISE_ID" , updateStrategy = FieldStrategy.IGNORED)
private String enterpriseId;
@TableField(value = "STATION_ID" , updateStrategy = FieldStrategy.IGNORED)
private String stationId;
}

@ -1,5 +1,7 @@
package jnpf.model.housingestate;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
@ -28,10 +30,10 @@ public class HousingEstateForm {
private Integer enabledMark;
/** 纬度 **/
@JsonProperty("latitude")
private BigDecimal latitude;
private String latitude;
/** 经度 **/
@JsonProperty("longitude")
private BigDecimal longitude;
private String longitude;
/** 定时定点回收 **/
@JsonProperty("hasSchedule")
private Integer hasSchedule;
@ -51,4 +53,7 @@ public class HousingEstateForm {
/** 企业 **/
@JsonProperty("enterpriseId")
private Object enterpriseId;
/** 回收站id **/
@JsonProperty("stationId")
private String stationId;
}

@ -39,4 +39,8 @@ public class HousingEstatePagination extends Pagination {
@JsonProperty("excludeIdList")
private List<String> excludeIdList;
/** 回收站id **/
@JsonProperty("stationId")
private String stationId;
}

@ -268,12 +268,7 @@
</JnpfUploadImg>
</jnpf-form-tip-item>
</el-col>
<!-- <el-col :span="8">
<jnpf-form-tip-item label="详细地址" prop="address">
<JnpfInput v-model="dataForm.address" @change="changeData('address',-1)" placeholder="请输入" clearable :style='{"width":"100%"}'>
</JnpfInput>
</jnpf-form-tip-item>
</el-col> -->
<el-col :span="8">
<jnpf-form-tip-item label="回收电话" prop="recycleTel">
<JnpfInput

@ -96,7 +96,7 @@
</jnpf-form-tip-item>
</el-col>
<el-col :span="10">
<!-- <el-col :span="10">
<jnpf-form-tip-item label="小区详细地址" prop="address">
<JnpfInput
v-model="dataForm.address"
@ -107,7 +107,28 @@
>
</JnpfInput>
</jnpf-form-tip-item>
</el-col> -->
<el-col :span="8">
<jnpf-form-tip-item
class="site-item"
label="详细地址"
prop="address"
>
<JnpfInput
class="input"
disabled
v-model="dataForm.address"
@change="changeData('address', -1)"
placeholder="请选择详细地址"
clearable
:style="{ width: '100%' }"
>
</JnpfInput>
<el-button @click="handleShowMap"></el-button>
</jnpf-form-tip-item>
</el-col>
<el-col :span="8">
<jnpf-form-tip-item label="启用禁用" prop="enabledMark">
<JnpfSwitch
@ -214,6 +235,18 @@
<!-- 表单结束 -->
</template>
</el-form>
<mapComponent
v-if="visibleMap"
:visibleMap="visibleMap"
:longitude="dataForm.longitude"
:latitude="dataForm.latitude"
:address="dataForm.address"
@chooseMapPoint="getCallMap"
@cancel="cancelMap"
@sure="sureMap"
></mapComponent>
<SelectDialog
v-if="selectDialogVisible"
:config="currTableConf"
@ -243,11 +276,14 @@ import {
getLaterTime,
} from "@/components/Generator/utils/index.js";
import { thousandsFormat } from "@/components/Generator/utils/index";
import mapComponent from "@/components/mapComponent";
export default {
components: {},
components: { mapComponent },
props: [],
data() {
return {
visibleMap: false,
dataFormSubmitType: 0,
continueBtnLoading: false,
index: 0,
@ -277,7 +313,7 @@ export default {
enabledMark: 1,
latitude: undefined,
longitude: undefined,
hasSchedule: 0,
hasSchedule: 1,
recycleAddress: undefined,
appointmentTimeStart: undefined,
appointmentTimeEnd: undefined,
@ -299,6 +335,27 @@ export default {
trigger: "change",
},
],
address: [
{
required: true,
message: "请输入详细地址",
trigger: "blur",
},
],
appointmentTimeStart: [
{
required: true,
message: "请输入",
trigger: "blur",
},
],
appointmentTimeEnd: [
{
required: true,
message: "请输入",
trigger: "blur",
},
],
},
sourceTypeOptions: [
{ fullName: "系统导入", id: "1" },
@ -333,6 +390,22 @@ export default {
},
mounted() {},
methods: {
handleShowMap() {
this.visibleMap = true;
},
getCallMap(e) {
console.log("chooseMapPoint", e);
},
cancelMap() {
this.visibleMap = false;
},
sureMap(valObj) {
this.dataForm.address = valObj.address;
this.dataForm.longitude = valObj.lng;
this.dataForm.latitude = valObj.lat;
console.log("位置信息", valObj);
this.visibleMap = false;
},
prev() {
this.index--;
if (this.index === 0) {

@ -126,7 +126,7 @@ export default {
this.listLoading = false
}) */
request({
url: `/api/scm/HousingEstate/getList`,
url: `/api/scm/HousingEstate/getHousingList`,
method: "post",
data: query,
}).then((res) => {

Loading…
Cancel
Save