src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -252,8 +252,15 @@ jh.go_out_addr,jh.go_out_where,jh.go_out_time,jh.go_out_reason, jh.marital_status,jh.card_number,jh.other_contact, if(jda.id is not null,jda.address_name,jh.current_address) as current_address, jh.disability_cert,jh.party_ember,jh.create_user,jh.create_time,jh.update_user,jh.update_time,jh.remark,jh.is_deleted, jh.disability_cert,jh.party_ember,jh.remark, jh.confirm_flag,jh.housing_rental_id, if(jda.id is not null,substring(jda.town_street_code,1,9),jh.home_adcode) as home_adcode, br1.name as residentAdName, br1.province_code as residentProvinceAdCode,br1.province_name as residentProvinceAdName, br1.city_code as residentCityAdCode,br1.city_name as residentCityAdName, br2.name as nativePlaceAdName, br2.province_code as nativePlaceProvinceAdCode,br2.province_name as nativePlaceProvinceAdName, br2.city_code as nativePlaceCityAdCode,br2.city_name as nativePlaceCityAdName, jhs.source, jhl.id as cid, jhl.house_code houseCodes, @@ -268,6 +275,8 @@ left join jczz_user_house_label jhl on jh.id = jhl.household_id left join jczz_doorplate_address jda on jda.address_code = jh.house_code left join jczz_house jhs on jhs.house_code = jh.house_code left join blade_region br1 on br1.code = jh.resident_adcode left join blade_region br2 on br2.code = jh.native_place_adcode where 1=1 and jh.is_deleted = 0 and jh.id = #{household.id} </select> src/main/java/org/springblade/modules/house/vo/HouseholdVO.java
@@ -88,4 +88,54 @@ */ private Integer source; /** * 户籍地行政区划区县名称 */ private String residentAdName; /** * 户籍地行政区划省名称 */ private String residentProvinceAdName; /** * 户籍地行政区划省编号 */ private String residentProvinceAdCode; /** * 户籍地行政区划市名称 */ private String residentCityAdName; /** * 户籍地行政区划市编号 */ private String residentCityAdCode; /** * 籍贯地行政区划区县名称 */ private String nativePlaceAdName; /** * 籍贯地行政区划省名称 */ private String nativePlaceProvinceAdName; /** * 籍贯地行政区划省编号 */ private String nativePlaceProvinceAdCode; /** * 籍贯地行政区划市名称 */ private String nativePlaceCityAdName; /** * 籍贯地行政区划市编号 */ private String nativePlaceCityAdCode; } src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -182,6 +182,16 @@ return R.data(placeService.historyPlaceLabelHandle(place)); } /** * 历史场所详情数据处理 * @param place * @return */ @GetMapping("/historyPlaceExtHandle") public R historyPlaceExtHandle(PlaceVO place) { return R.data(placeService.historyPlaceExtHandle(place)); } /** * 场所表 自定义详情查询 src/main/java/org/springblade/modules/place/entity/PlaceExtEntity.java
@@ -20,13 +20,15 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; import lombok.EqualsAndHashCode; import org.springblade.core.tenant.mp.TenantEntity; import org.springframework.format.annotation.DateTimeFormat; /** * 场所详情表 实体类 @@ -47,12 +49,12 @@ @ApiModelProperty("主键id") @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; /** * 任务id */ @ApiModelProperty(value = "任务id") private Long taskId; // // /** // * 任务id // */ // @ApiModelProperty(value = "任务id") // private Long taskId; /** * 场所ID @@ -64,11 +66,7 @@ */ @ApiModelProperty(value = "营业执照图片URLS") private String imageUrls; /** * 场所位置 */ @ApiModelProperty(value = "场所位置") private String location; /** * 法人信息 */ @@ -99,9 +97,9 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date confirmTime; /** * 确认标记 1:待审核 2:审核通过 3:审核不通过 * 确认标记 1:待审核 2:审核通过 3:审核不通过 4:待完善(地址表数据,无场所负责人) */ @ApiModelProperty(value = "确认标记 0:待完善 1:待审核 2:审核通过 3:审核不通过") @ApiModelProperty(value = "确认标记 1:待审核 2:审核通过 3:审核不通过 4:待完善") private Integer confirmFlag; /** * 确认意见 @@ -114,6 +112,7 @@ */ @JsonSerialize(using = ToStringSerializer.class) @ApiModelProperty("创建人") @TableField(fill = FieldFill.INSERT) private Long createUser; /** @@ -130,6 +129,7 @@ */ @JsonSerialize(using = ToStringSerializer.class) @ApiModelProperty("更新人") @TableField(fill = FieldFill.INSERT_UPDATE) private Long updateUser; /** @@ -138,6 +138,7 @@ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("更新时间") @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; /** src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -89,11 +89,14 @@ </select> <select id="getDetail" resultType="org.springblade.modules.place.vo.PlaceExtVO"> select jpe.*, jp.place_name as placeName select jpe.*, jp.place_name as placeName, jp.lng, jp.lat, jp.location from jczz_place_ext jpe left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0 where jpe.is_deleted = 0 and jpe.place_id = #{placeExt.placeId} left join jczz_place jp on jpe.place_id = jp.id and jp.is_deleted = 0 where jpe.is_deleted = 0 and jpe.place_id = #{placeExt.placeId} </select> src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -96,4 +96,10 @@ * @return */ List<PlaceEntity> getHasUserIdPlaceList(); /** * 查询所有的场所数据(除去详情表已有的) * @return */ List<PlaceEntity> getPlaceListByNoExt(); } src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -15,6 +15,7 @@ <select id="selectPlacePage" resultType="org.springblade.modules.place.vo.PlaceVO"> select jp.*, jpe.id as placeExtId, bu.real_name as username,bu.phone as phone, bx.real_name as createUserName, br.town_name as townStreetName,br.name as neiName, @@ -96,7 +97,7 @@ <if test="place.regionCode != null and place.regionCode !='' "> and jg.community_code like concat('%',#{place.regionCode},'%') </if> order by jpe.create_time desc order by jp.create_time desc,jp.id desc </select> <!--查询场所集合信息--> @@ -189,4 +190,13 @@ left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0 where jp.is_deleted = 0 and jp.principal_user_id is not null </select> <!--查询所有的场所数据(除去详情表已有的)--> <select id="getPlaceListByNoExt" resultType="org.springblade.modules.place.entity.PlaceEntity"> select jp.* from jczz_place jp LEFT JOIN jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0 where jp.is_deleted = 0 and jpe.id is null </select> </mapper> src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -108,4 +108,11 @@ * 场所标签数据处理 */ Object placeLabelHandle(); /** * 历史场所详情数据处理 * @param place * @return */ Object historyPlaceExtHandle(PlaceVO place); } src/main/java/org/springblade/modules/place/service/impl/PlaceExtServiceImpl.java
@@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.logging.log4j.util.Strings; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.modules.grid.service.IGridService; import org.springblade.modules.house.entity.HouseTenantEntity; @@ -102,6 +103,8 @@ boolean removeFlag = true; //更新自身 boolean update = updateById(placeExt); // 更新场所place 表信息 updatePlaceInfo(placeExt); // 查询对应已存在的从业人员 QueryWrapper<PlacePractitionerEntity> wrapper = new QueryWrapper<>(); wrapper.eq("place_id",placeExt.getPlaceId()); @@ -153,6 +156,27 @@ } /** * 更新场所表信息 * @param placeExt */ public void updatePlaceInfo(PlaceExtVO placeExt) { PlaceEntity placeEntity = new PlaceEntity(); placeEntity.setId(placeExt.getPlaceId()); placeEntity.setPlaceName(placeExt.getPlaceName()); if (!Strings.isBlank(placeExt.getLng())) { placeEntity.setLng(placeExt.getLng()); } if (!Strings.isBlank(placeExt.getLat())) { placeEntity.setLat(placeExt.getLat()); } if (!Strings.isBlank(placeExt.getLocation())) { placeEntity.setLocation(placeExt.getLocation()); } // 更新 placeService.updateById(placeEntity); } /** * 场所详情表 审核 * @param placeExt * @return @@ -165,15 +189,15 @@ placeExt.setConfirmTime(new Date()); placeExt.setConfirmUserId(AuthUtil.getUserId()); // 更新数据 boolean b = updateById(placeExt); if (b) { PlaceExtEntity entity = getById(placeExt.getId()); // 更新任务表状态 TaskEntity taskEntity = new TaskEntity(); taskEntity.setId(entity.getTaskId()); taskEntity.setStatus(placeExt.getConfirmFlag()); flag = taskService.updateById(taskEntity); } flag = updateById(placeExt); // if (b) { // PlaceExtEntity entity = getById(placeExt.getId()); // // 更新任务表状态 // TaskEntity taskEntity = new TaskEntity(); // taskEntity.setId(entity.getTaskId()); // taskEntity.setStatus(placeExt.getConfirmFlag()); // flag = taskService.updateById(taskEntity); // } // 返回 return flag; } @@ -185,26 +209,26 @@ */ @Override public boolean savePlaceExt(PlaceExtEntity placeExt) { PlaceEntity placeEntity = placeService.getById(placeExt.getPlaceId()); TaskEntity taskEntity = new TaskEntity(); taskEntity.setId(placeExt.getTaskId()); taskEntity.setStatus(placeExt.getConfirmFlag()); taskEntity.setType(1); taskEntity.setFrequency(1); taskEntity.setName(placeEntity.getPlaceName() + "信息完善"); // 新增任务 boolean save = taskService.save(taskEntity); if (save){ placeExt.setTaskId(taskEntity.getId()); // PlaceEntity placeEntity = placeService.getById(placeExt.getPlaceId()); // TaskEntity taskEntity = new TaskEntity(); // taskEntity.setId(placeExt.getTaskId()); // taskEntity.setStatus(placeExt.getConfirmFlag()); // taskEntity.setType(1); // taskEntity.setFrequency(1); // taskEntity.setName(placeEntity.getPlaceName() + "信息完善"); // // 新增任务 // boolean save = taskService.save(taskEntity); // if (save){ // placeExt.setTaskId(taskEntity.getId()); placeExt.setConfirmFlag(1); placeExt.setCreateTime(new Date()); placeExt.setUpdateTime(new Date()); placeExt.setCreateUser(AuthUtil.getUserId()); placeExt.setUpdateUser(AuthUtil.getUserId()); // 新增场所详情 save(placeExt); } return false; boolean save = save(placeExt); // } return save; } /** src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -17,7 +17,7 @@ package org.springblade.modules.place.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.logging.log4j.util.Strings; import org.springblade.common.node.TreeStringNode; @@ -26,35 +26,32 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity; import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService; import org.springblade.modules.grid.entity.GridEntity; import org.springblade.modules.grid.entity.GridRangeEntity; import org.springblade.modules.grid.mapper.GridMapper; import org.springblade.modules.grid.service.IGridRangeService; import org.springblade.modules.grid.service.IGridService; import org.springblade.modules.grid.service.IGridmanService; import org.springblade.modules.grid.vo.GridVO; import org.springblade.modules.place.entity.PlaceEntity; import org.springblade.modules.place.entity.PlaceExtEntity; import org.springblade.modules.place.entity.PlacePoiLabel; import org.springblade.modules.place.entity.PlaceRelEntity; import org.springblade.modules.place.entity.*; import org.springblade.modules.place.excel.PlaceAndRelExcel; import org.springblade.modules.place.excel.PlaceExcel; import org.springblade.modules.place.mapper.PlaceMapper; import org.springblade.modules.place.service.IPlaceExtService; import org.springblade.modules.place.service.IPlacePoiLabelService; import org.springblade.modules.place.service.IPlaceRelService; import org.springblade.modules.place.service.IPlaceService; import org.springblade.modules.place.vo.PlaceVO; import org.springblade.modules.place.mapper.PlaceMapper; import org.springblade.modules.place.service.IPlaceService; import org.springblade.modules.system.entity.Dept; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.service.IDeptService; import org.springblade.modules.system.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.*; /** * 场所表 服务实现类 @@ -90,6 +87,9 @@ @Autowired private IDeptService deptService; @Autowired private GridMapper gridMapper; /** * 自定义列表查询 @@ -219,20 +219,74 @@ gridRangeService.updateById(one); } }else { // 判断角色,如果是网格员则直接使用网格员的网格id,如果是民警则采用点落面的方式进行获取网格的id if (!Strings.isBlank(placeVO.getRoleName())) { // 网格员角色位置绑定 gridmanPositionHandle(placeVO); // 民警角色位置绑定 policePositionHandle(placeVO); } } } /** * 网格员角色位置绑定 * @param placeVO */ private void gridmanPositionHandle(PlaceVO placeVO) { if (placeVO.getRoleName().equals("网格员")) { // 判断网格员,查询对应网格人对应的网格id Integer gridId = gridmanService.getGridIdByUserId(AuthUtil.getUserId()); if (null!=gridId){ if (null != gridId) { // 判断关联关系表是否存在 QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>(); wrapper.eq("grid_id",gridId).eq("house_code",placeVO.getHouseCode()); wrapper.eq("grid_id", gridId).eq("house_code", placeVO.getHouseCode()); GridRangeEntity one = gridRangeService.getOne(wrapper); if (null==one){ if (null == one) { // 新增 GridRangeEntity gridRangeEntity = new GridRangeEntity(); gridRangeEntity.setHouseCode(placeVO.getHouseCode()); gridRangeEntity.setGridId(gridId); // 插入 gridRangeService.save(gridRangeEntity); }else { // 修改绑定 one.setGridId(placeVO.getGridId()); // 修改 gridRangeService.updateById(one); } } } } /** * 民警角色位置绑定 * @param placeVO */ private void policePositionHandle(PlaceVO placeVO) { // 是民警且位置信息存在 if (placeVO.getRoleName().equals("民警") && !Strings.isBlank(placeVO.getLng())) { //点坐标解析 String point = "'POINT(" + placeVO.getLng() + " " + placeVO.getLat() +")'"; // String point = "'POINT(" + villageInfoExcel.getLatitude() + " " + villageInfoExcel.getLongitude() +")'"; GridEntity gridEntity = gridMapper.spatialAnalysis(point); if (null != gridEntity) { // 判断关联关系表是否存在 QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>(); wrapper.eq("grid_id", gridEntity.getId()).eq("house_code", placeVO.getHouseCode()); GridRangeEntity one = gridRangeService.getOne(wrapper); if (null == one) { // 新增 GridRangeEntity gridRangeEntity = new GridRangeEntity(); gridRangeEntity.setHouseCode(placeVO.getHouseCode()); gridRangeEntity.setGridId(gridEntity.getId()); // 插入 gridRangeService.save(gridRangeEntity); }else { // 修改绑定 one.setGridId(placeVO.getGridId()); // 修改 gridRangeService.updateById(one); } } } @@ -393,9 +447,6 @@ PlaceExtEntity one = placeExtService.getOne(wrapper); if (null == one) { placeExtEntity.setPlaceId(placeVO.getId()); placeExtEntity.setLocation(placeVO.getLocation()); // TODO 后面需要把新增的参所设置为待完善 // placeExtEntity.setConfirmFlag(0); //新增 placeExtService.savePlaceExt(placeExtEntity); } @@ -724,4 +775,36 @@ } return null; } /** * 历史场所详情数据处理 * @param place * @return */ @Override public Object historyPlaceExtHandle(PlaceVO place) { // 查询所有的场所数据(除去详情表已有的) List<PlaceEntity> list = baseMapper.getPlaceListByNoExt(); // 遍历更新 for (PlaceEntity placeEntity : list) { QueryWrapper<PlaceExtEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("place_id",placeEntity.getId()).eq("is_deleted",0); PlaceExtEntity one = placeExtService.getOne(queryWrapper); if (null==one){ // 新增 PlaceExtEntity placeExtEntity = new PlaceExtEntity(); if (null!=placeEntity.getPrincipalUserId()){ // 待审核 placeExtEntity.setConfirmFlag(1); }else { // 待完善 placeExtEntity.setConfirmFlag(4); } placeExtEntity.setPlaceId(placeEntity.getId()); // 插入 placeExtService.save(placeExtEntity); } } return null; } } src/main/java/org/springblade/modules/place/vo/PlaceExtVO.java
@@ -43,6 +43,22 @@ private String placeName; /** * 场所位置 */ @ApiModelProperty(value = "场所位置") private String location; /** * 经度 */ private String lng; /** * 纬度 */ private String lat; /** * 地址编码 */ private String houseCode; src/main/java/org/springblade/modules/place/vo/PlaceVO.java
@@ -107,4 +107,9 @@ * 区域编号 */ private String regionCode; /** * 详情id(维护) */ private Long placeExtId; }