From c4e2c196aad8af656d94bc47e9f1a80bc504b5d7 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Thu, 14 Mar 2024 18:15:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java               |   60 ++++++++---
 src/main/java/org/springblade/modules/place/service/IPlaceService.java            |    5 +
 src/main/java/org/springblade/modules/place/service/IPlaceRelService.java         |    5 +
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java    |   19 +++
 src/main/java/org/springblade/modules/place/controller/PlaceController.java       |   11 ++
 src/main/java/org/springblade/modules/place/controller/PlaceRelController.java    |   10 ++
 src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java            |    6 +
 src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml             |    8 +
 src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java |   35 +++++++
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml                |  118 +++++++++++++++++++++++
 10 files changed, 257 insertions(+), 20 deletions(-)

diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceController.java b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
index 3a17028..aa99608 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -101,6 +101,17 @@
 	}
 
 	/**
+	 * 企业商超列表查询
+	 */
+	@GetMapping("/mallPage")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入place")
+	public R<IPage<PlaceVO>> mallPage(PlaceVO place, Query query) {
+		IPage<PlaceVO> pages = placeService.selectMallPage(Condition.getPage(query), place);
+		return R.data(pages);
+	}
+
+	/**
 	 * 场所表 新增
 	 */
 	@PostMapping("/save")
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceRelController.java b/src/main/java/org/springblade/modules/place/controller/PlaceRelController.java
index 952d5af..d81fd10 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceRelController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceRelController.java
@@ -122,5 +122,15 @@
 		return R.status(placeRelService.removeByIds(Func.toLongList(ids)));
 	}
 
+	/**
+	 * 商超数据处理
+	 */
+	@GetMapping("/mallDataHandle")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "商超数据处理", notes = "")
+	public R mallDataHandle() {
+		return R.status(placeRelService.mallDataHandle());
+	}
+
 
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
index 0433b77..49f89e5 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -64,47 +64,53 @@
 	 * @return
 	 */
 	List<PlaceVO> selectNinePlacePage(IPage page,
-								  @Param("place") PlaceVO place,
-								  @Param("gridCodeList") List<String> gridCodeList,
-								  @Param("regionChildCodesList") List<String> regionChildCodesList,
-								  @Param("isAdministrator") Integer isAdministrator,
-								  @Param("nineTypeList") List<String> nineTypeList);
+									  @Param("place") PlaceVO place,
+									  @Param("gridCodeList") List<String> gridCodeList,
+									  @Param("regionChildCodesList") List<String> regionChildCodesList,
+									  @Param("isAdministrator") Integer isAdministrator,
+									  @Param("nineTypeList") List<String> nineTypeList);
 
 
 	/**
 	 * 查询场所集合信息
+	 *
 	 * @param userId
 	 * @return
 	 */
-    List<TreeStringNode> selectPlaceNodeList(@Param("userId") String userId);
+	List<TreeStringNode> selectPlaceNodeList(@Param("userId") String userId);
 
 	/**
 	 * 插入用户标签
+	 *
 	 * @param userId
 	 * @param labelId
 	 */
-	int saveUserLabel(@Param("userId") Long userId,@Param("labelId")  int labelId);
+	int saveUserLabel(@Param("userId") Long userId, @Param("labelId") int labelId);
 
 	/**
 	 * 查询所有的场所(手机号不为空)
+	 *
 	 * @return
 	 */
 	List<PlaceVO> getPlaceNotNullPhone();
 
 	/**
 	 * 查询所有的场所
+	 *
 	 * @return
 	 */
 	List<PlaceVO> getAllHistoryPlace();
 
 	/**
 	 * 更新场所信息
+	 *
 	 * @param place
 	 */
 	int updatePlaceEntity(@Param("place") PlaceVO place);
 
 	/**
-	 *  查询场所详情数据
+	 * 查询场所详情数据
+	 *
 	 * @param place
 	 * @return
 	 */
@@ -112,6 +118,7 @@
 
 	/**
 	 * 判断商超是否导入
+	 *
 	 * @param placeExcel
 	 * @return
 	 */
@@ -119,45 +126,51 @@
 
 	/**
 	 * 查询出有用户id 的场所
+	 *
 	 * @return
 	 */
-    List<PlaceEntity> getHasUserIdPlaceList();
+	List<PlaceEntity> getHasUserIdPlaceList();
 
 	/**
 	 * 查询所有的场所数据(除去详情表已有的)
+	 *
 	 * @return
 	 */
 	List<PlaceEntity> getPlaceListByNoExt();
 
 	/**
 	 * 商超数据处理
+	 *
 	 * @return
 	 */
 	List<PlaceEntity> placeAndRelHandle();
 
 	/**
 	 * 根据编号集合查询对应的场所(按颜色区分近多少天没有发过任务的场所)4部分数据(三种颜色对应的+从来没有发过的)
+	 *
 	 * @param stringList
 	 * @param tableName
 	 * @return
 	 */
-    List<PlaceVO> getPlaceListByParam(@Param("list") List<String> stringList,
+	List<PlaceVO> getPlaceListByParam(@Param("list") List<String> stringList,
 									  @Param("tableName") String tableName);
 
-	List<NinePlaceExcel> export( @Param("place") PlaceVO place,
-								 @Param("houseCodeList") List<String> houseCodeList,
-								 @Param("regionChildCodesList") List<String> regionChildCodesList,
-								 @Param("isAdministrator") Integer isAdministrator,
-								 @Param("nineTypeList") List<String> nineTypeList);
+	List<NinePlaceExcel> export(@Param("place") PlaceVO place,
+								@Param("houseCodeList") List<String> houseCodeList,
+								@Param("regionChildCodesList") List<String> regionChildCodesList,
+								@Param("isAdministrator") Integer isAdministrator,
+								@Param("nineTypeList") List<String> nineTypeList);
 
 	/**
 	 * 查询 警务网格为空的数据
+	 *
 	 * @return
 	 */
-    List<PlaceEntity> getPlaceNotJwGridCode();
+	List<PlaceEntity> getPlaceNotJwGridCode();
 
 	/**
 	 * 比对两点间的距离是否在1km 范围内(和地址总表位置对比)
+	 *
 	 * @param placeVO
 	 * @return
 	 */
@@ -165,6 +178,7 @@
 
 	/**
 	 * 比对两点间的距离是否在1km 范围内 (和采集的位置对比)
+	 *
 	 * @param placeVO
 	 * @return
 	 */
@@ -172,20 +186,32 @@
 
 	/**
 	 * 查询 综治网格为空的数据
+	 *
 	 * @return
 	 */
 	List<PlaceEntity> getPlaceNotGridCode();
 
 	/**
 	 * 查询对应未的场所 house_code_binds 为空,source = 1 的
+	 *
 	 * @return
 	 */
 	List<PlaceEntity> selectPlaceNotDoorBindList();
 
 	/**
 	 * 查询绑定的房屋
+	 *
 	 * @param houseCodeBinds
 	 * @return
 	 */
-	List<Map<String,Object>> getHouseBindMap(@Param("houseCodeBinds") String houseCodeBinds);
+	List<Map<String, Object>> getHouseBindMap(@Param("houseCodeBinds") String houseCodeBinds);
+
+	/**
+	 * 企业商超列表查询
+	 */
+	List<PlaceVO> selectMallPage(IPage page,
+								 @Param("place") PlaceVO place,
+								 @Param("gridCodeList") List<String> gridCodeList,
+								 @Param("regionChildCodesList") List<String> regionChildCodesList,
+								 @Param("isAdministrator") Integer isAdministrator);
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 4e725c9..847b7e6 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -786,4 +786,122 @@
         </choose>
     </select>
 
+    <!--企业商超列表分页查询-->
+    <select id="selectMallPage" resultType="org.springblade.modules.place.vo.PlaceVO">
+        select
+        jp.*,
+        jpe.id as placeExtId,
+        br.town_name as townStreetName,
+        br.name as neiName,
+        jg.grid_name as gridName,
+        jpe.confirm_flag confirmFlag
+        from jczz_place jp
+        left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
+        left join jczz_place_ext jpe on jpe.place_id=jp.id and jpe.is_deleted = 0
+        left join jczz_place_rel jpr on jpr.place_id=jp.id and jpe.is_deleted = 0
+        left join jczz_grid jg on jg.grid_code = jp.grid_code and jg.is_deleted = 0
+        LEFT JOIN jczz_police_affairs_grid jpag on jpr.community_code= jpag.jw_grid_code
+        left join blade_region br on br.code = jpr.community_code
+        left join (
+        select a.* from jczz_place_poi_label a inner join
+        (
+        select place_id,max(id) as id from jczz_place_poi_label b group by place_id
+        ) b on a.id = b.id
+        ) jppl on jppl.place_id = jp.id
+        where jp.is_deleted = 0 and jp.source=3
+        and jp.place_name != ''
+        <if test="place.placeName!=null and place.placeName!=''">
+            and jp.place_name like concat('%',#{place.placeName},'%')
+        </if>
+        <if test="place.principal!=null and place.principal!=''">
+            and jp.principal like concat('%',#{place.principal},'%')
+        </if>
+        <if test="place.principalPhone!=null and place.principalPhone!=''">
+            and jp.principal_phone like concat('%',#{place.principalPhone},'%')
+        </if>
+        <if test="place.houseCode!=null and place.houseCode!=''">
+            and jp.house_code like concat('%',#{place.houseCode},'%')
+        </if>
+        <if test="place.townStreetName!=null and place.townStreetName!=''">
+            and br.town_name like concat('%',#{place.townStreetName},'%')
+        </if>
+        <if test="place.neiName!=null and place.neiName!=''">
+            and br.name like concat('%',#{place.neiName},'%')
+        </if>
+        <if test="place.id!=null">
+            and jp.id = #{place.id}
+        </if>
+
+        <if test="place.isNine!=null">
+            and jp.is_nine = #{place.isNine}
+        </if>
+
+        <if test="place.source!=null">
+            and jp.source = #{place.source}
+        </if>
+        <if test="place.isPerfect==1">
+            and jp.status = 1
+        </if>
+        <if test="place.isPerfect==2">
+            and jp.status = 2
+        </if>
+        <if test="isAdministrator==2">
+            <choose>
+                <when test="place.roleName != null and place.roleName != ''">
+                    <if test="place.roleName=='wgy'">
+                        <choose>
+                            <when test="gridCodeList !=null and gridCodeList.size()>0">
+                                and jp.grid_code in
+                                <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jpr.grid_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                    <if test="place.roleName=='mj'">
+                        <choose>
+                            <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                                and jpag.community_code in
+                                <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                    #{code}
+                                </foreach>
+                            </when>
+                            <otherwise>
+                                and jpag.community_code in ('')
+                            </otherwise>
+                        </choose>
+                    </if>
+                </when>
+                <otherwise>
+                    <choose>
+                        <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+                            and
+                            (
+                            jg.grid_code in
+                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                #{code}
+                            </foreach>
+                            or
+                            jpag.community_code in
+                            <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+                                #{code}
+                            </foreach>
+                            )
+                        </when>
+                        <otherwise>
+                            and
+                            (
+                            jg.grid_code in ('') or jpag.community_code in ('')
+                            )
+                        </otherwise>
+                    </choose>
+                </otherwise>
+            </choose>
+        </if>
+        order by jp.create_time desc,jp.id desc
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java
index 4346372..1d6d93f 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.java
@@ -49,4 +49,10 @@
 	 * @return
 	 */
 	DoorplateAddressEntity getDoorplateAddressEntity(@Param("place") PlaceVO place);
+
+	/**
+	 * 查询未处理的商超数据
+	 * @return
+	 */
+    List<PlaceRelEntity> getMallList();
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml
index fb30a3c..0a62aa2 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceRelMapper.xml
@@ -41,5 +41,13 @@
         limit 1
     </select>
 
+    <!--查询未处理的商超数据-->
+    <select id="getMallList" resultType="org.springblade.modules.place.entity.PlaceRelEntity">
+        select
+        jpr.*
+        from jczz_place_rel jpr
+        left join jczz_place jp on jp.id = jpr.place_id and jp.is_deleted = 0
+        where jpr.is_deleted = 0 and jp.grid_code is null
+    </select>
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java b/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java
index 5aa43bb..4ee7677 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceRelService.java
@@ -47,4 +47,9 @@
 	 * @return
 	 */
 	DoorplateAddressEntity getDoorplateAddressEntity(PlaceVO place);
+
+	/**
+	 * 商超数据处理
+	 */
+	boolean mallDataHandle();
 }
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceService.java b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
index fe6782f..843097e 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -175,4 +175,9 @@
 	 * 场所二维码绑定处理
 	 */
     Object placeDoorBindHandle();
+
+	/**
+	 * 企业商超列表查询
+	 */
+	IPage<PlaceVO> selectMallPage(IPage<PlaceVO> page, PlaceVO place);
 }
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java
index 3a98856..7afba39 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceRelServiceImpl.java
@@ -16,9 +16,15 @@
  */
 package org.springblade.modules.place.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.utils.SpringUtils;
 import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
+import org.springblade.modules.grid.entity.GridEntity;
+import org.springblade.modules.grid.service.IGridService;
+import org.springblade.modules.place.entity.PlaceEntity;
 import org.springblade.modules.place.entity.PlaceRelEntity;
+import org.springblade.modules.place.service.IPlaceService;
 import org.springblade.modules.place.vo.PlaceRelVO;
 import org.springblade.modules.place.mapper.PlaceRelMapper;
 import org.springblade.modules.place.service.IPlaceRelService;
@@ -26,6 +32,8 @@
 import org.springblade.modules.place.vo.PlaceVO;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
 
 /**
  * 场所区域关联信息表(商超) 服务实现类
@@ -50,4 +58,31 @@
 	public DoorplateAddressEntity getDoorplateAddressEntity(PlaceVO place) {
 		return baseMapper.getDoorplateAddressEntity(place);
 	}
+
+	/**
+	 * 商超数据处理
+	 */
+	@Override
+	public boolean mallDataHandle() {
+		// 查询未处理的商超数据,将网格数据插入导入场所表
+		List<PlaceRelEntity> list = baseMapper.getMallList();
+		// 遍历
+		for (PlaceRelEntity placeRelEntity : list) {
+			// 查询对应的网格编号
+			QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
+			queryWrapper.eq("community_code",placeRelEntity.getCommunityCode())
+				.eq("grid_name",placeRelEntity.getGridName())
+			.eq("is_deleted",0);
+			GridEntity gridEntity = SpringUtils.getBean(IGridService.class).getOne(queryWrapper);
+			if (null!=gridEntity){
+				PlaceEntity placeEntity = new PlaceEntity();
+				placeEntity.setId(placeRelEntity.getPlaceId());
+				placeEntity.setGridCode(gridEntity.getGridCode());
+				placeEntity.setGridId(gridEntity.getId());
+				// 更新
+				SpringUtils.getBean(IPlaceService.class).updateById(placeEntity);
+			}
+		}
+		return true;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index 46dbe95..23e49e2 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -108,9 +108,6 @@
 	private IGridRangeService gridRangeService;
 
 	@Autowired
-	private IGridmanService gridmanService;
-
-	@Autowired
 	private GridMapper gridMapper;
 
 	@Autowired
@@ -1507,4 +1504,20 @@
 		}
 		return null;
 	}
+
+	/**
+	 * 企业商超列表查询
+	 */
+	@Override
+	public IPage<PlaceVO> selectMallPage(IPage<PlaceVO> page, PlaceVO place) {
+		// 公共参数设置
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(PlaceVO.class, place);
+		List<PlaceVO> placeVOS = baseMapper.selectMallPage(page,
+			place,
+			commonParamSet.getGridCodeList(),
+			commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getIsAdministrator());
+		// 返回
+		return page.setRecords(placeVOS);
+	}
 }

--
Gitblit v1.9.3