|
@@ -119,30 +119,32 @@
|
|
|
|
|
|
<select id="getDataMapList" resultType="com.hz.employmentsite.vo.dataMap.CompanyPostMapVo">
|
|
|
SELECT
|
|
|
- company.CompanyID,
|
|
|
- company_user.`Name` as companyCreateUserName,
|
|
|
- company.CompanyName,
|
|
|
- company.CompanyAddress,
|
|
|
- cmodel.`Name` AS companyModelType,
|
|
|
- com_status.`Name` AS recordStatusName,
|
|
|
- company.Longitude,
|
|
|
- company.Latitude,
|
|
|
- (
|
|
|
- 6371 * ACOS(
|
|
|
- COS(
|
|
|
- RADIANS( #{latitude} )) * COS(
|
|
|
- RADIANS( company.Latitude )) * COS(
|
|
|
- RADIANS( company.Longitude ) - RADIANS( #{longitude} )) + SIN(
|
|
|
- RADIANS( #{latitude} )) * SIN(
|
|
|
- RADIANS( company.Latitude ))
|
|
|
- )) AS distance
|
|
|
+ company.CompanyID,
|
|
|
+ company_user.`Name` as companyCreateUserName,
|
|
|
+ company.CompanyName,
|
|
|
+ company.CompanyAddress,
|
|
|
+ cmodel.`Name` AS companyModelType,
|
|
|
+ com_status.`Name` AS recordStatusName,
|
|
|
+ company.Longitude,
|
|
|
+ company.Latitude,
|
|
|
+ (
|
|
|
+ 6371 * ACOS(
|
|
|
+ COS(
|
|
|
+ RADIANS( #{latitude} )) * COS(
|
|
|
+ RADIANS( company.Latitude )) * COS(
|
|
|
+ RADIANS( company.Longitude ) - RADIANS( #{longitude} )) + SIN(
|
|
|
+ RADIANS( #{latitude} )) * SIN(
|
|
|
+ RADIANS( company.Latitude ))
|
|
|
+ )) AS distance,
|
|
|
+ postCounts.postCount
|
|
|
FROM
|
|
|
- pc_company company
|
|
|
- LEFT JOIN sys_dictionary_item cmodel ON company.CompanyModel = cmodel.`Value`
|
|
|
- AND cmodel.DictionaryCode = 'CompanyModel'
|
|
|
- LEFT JOIN sys_dictionary_item com_status ON company.RecordStatus = com_status.`Value`
|
|
|
- AND com_status.DictionaryCode = 'CompanyStatus'
|
|
|
- LEFT JOIN sys_user company_user ON company.CreateUserID = company_user.UserID
|
|
|
+ pc_company company
|
|
|
+ LEFT JOIN sys_dictionary_item cmodel ON company.CompanyModel = cmodel.`Value`
|
|
|
+ AND cmodel.DictionaryCode = 'CompanyModel'
|
|
|
+ LEFT JOIN sys_dictionary_item com_status ON company.RecordStatus = com_status.`Value`
|
|
|
+ AND com_status.DictionaryCode = 'CompanyStatus'
|
|
|
+ LEFT JOIN sys_user company_user ON company.CreateUserID = company_user.UserID
|
|
|
+ LEFT JOIN ( SELECT CompanyID, COUNT( 1 ) AS postCount FROM pc_post GROUP BY CompanyID ) AS postCounts ON company.CompanyID = postCounts.CompanyID
|
|
|
WHERE 1=1
|
|
|
<if test="companyName!='' and companyName!=null">
|
|
|
and company.companyName like Concat('%',#{companyName},'%')
|
|
@@ -162,11 +164,18 @@
|
|
|
<if test="createTimeBy!='' and createTimeBy!=null">
|
|
|
and Date(company.CreateTime) <![CDATA[ >= ]]> Date(#{createTimeBy})
|
|
|
</if>
|
|
|
+ <if test="isPost != null and isPost == 1">
|
|
|
+ and postCounts.postCount >= 0
|
|
|
+ </if>
|
|
|
+ <if test="isPost != null and isPost == 0">
|
|
|
+ and postCounts.postCount IS NULL
|
|
|
+ </if>
|
|
|
<if test="maxDistance!=null">
|
|
|
HAVING
|
|
|
distance <![CDATA[ <= ]]> #{maxDistance}
|
|
|
</if>
|
|
|
ORDER BY
|
|
|
+ (postCounts.postCount IS NULL) ASC,
|
|
|
company.CreateTime DESC
|
|
|
</select>
|
|
|
|