hanfucheng 9 kuukautta sitten
vanhempi
commit
4d089a7423

+ 2 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionRealnameuser.java

@@ -106,6 +106,8 @@ public class CenterdataTHousingconstructionRealnameuser extends BaseBusinessEnti
      */
      */
     private String deptName;
     private String deptName;
 
 
+    private String radius;//距离
+
     @Override
     @Override
     public String toString() {
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

+ 5 - 151
src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionSteelcylinder.java

@@ -3,6 +3,7 @@ package com.sooka.sponest.data.housingconstruction.domain;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.annotation.Excel;
 import com.ruoyi.common.core.annotation.Excel;
 import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
 import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
 
@@ -14,6 +15,7 @@ import java.util.Date;
  * @author 韩福成
  * @author 韩福成
  * @date 2024-07-30
  * @date 2024-07-30
  */
  */
+@Data
 public class CenterdataTHousingconstructionSteelcylinder extends BaseBusinessEntity {
 public class CenterdataTHousingconstructionSteelcylinder extends BaseBusinessEntity {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
@@ -131,157 +133,9 @@ public class CenterdataTHousingconstructionSteelcylinder extends BaseBusinessEnt
     @Excel(name = "钢瓶阈值(天)")
     @Excel(name = "钢瓶阈值(天)")
     private String threshold;
     private String threshold;
 
 
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setDeptId(Long deptId) {
-        this.deptId = deptId;
-    }
-
-    public Long getDeptId() {
-        return deptId;
-    }
-
-    public void setDeptName(String deptName) {
-        this.deptName = deptName;
-    }
-
-    public String getDeptName() {
-        return deptName;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setEnterpriseId(String enterpriseId) {
-        this.enterpriseId = enterpriseId;
-    }
-
-    public String getEnterpriseId() {
-        return enterpriseId;
-    }
-
-    public void setEnterpriseName(String enterpriseName) {
-        this.enterpriseName = enterpriseName;
-    }
-
-    public String getEnterpriseName() {
-        return enterpriseName;
-    }
-
-    public void setManufacturer(String manufacturer) {
-        this.manufacturer = manufacturer;
-    }
-
-    public String getManufacturer() {
-        return manufacturer;
-    }
-
-    public void setOwnership(String ownership) {
-        this.ownership = ownership;
-    }
-
-    public String getOwnership() {
-        return ownership;
-    }
-
-    public void setLeaveTime(Date leaveTime) {
-        this.leaveTime = leaveTime;
-    }
-
-    public Date getLeaveTime() {
-        return leaveTime;
-    }
-
-    public void setMakeTime(Date makeTime) {
-        this.makeTime = makeTime;
-    }
-
-    public Date getMakeTime() {
-        return makeTime;
-    }
-
-    public void setLeaveNumber(String leaveNumber) {
-        this.leaveNumber = leaveNumber;
-    }
-
-    public String getLeaveNumber() {
-        return leaveNumber;
-    }
-
-    public void setStandards(String standards) {
-        this.standards = standards;
-    }
-
-    public String getStandards() {
-        return standards;
-    }
-
-    public void setModelNumber(String modelNumber) {
-        this.modelNumber = modelNumber;
-    }
-
-    public String getModelNumber() {
-        return modelNumber;
-    }
-
-    public void setSteelcylinderNumber(String steelcylinderNumber) {
-        this.steelcylinderNumber = steelcylinderNumber;
-    }
-
-    public String getSteelcylinderNumber() {
-        return steelcylinderNumber;
-    }
-
-    public void setSteelcylinderCode(String steelcylinderCode) {
-        this.steelcylinderCode = steelcylinderCode;
-    }
-
-    public String getSteelcylinderCode() {
-        return steelcylinderCode;
-    }
-
-    public void setCurrentPosition(String currentPosition) {
-        this.currentPosition = currentPosition;
-    }
-
-    public String getCurrentPosition() {
-        return currentPosition;
-    }
-
-    public void setRegisterTime(Date registerTime) {
-        this.registerTime = registerTime;
-    }
-
-    public Date getRegisterTime() {
-        return registerTime;
-    }
-
-    public void setState(String state) {
-        this.state = state;
-    }
-
-    public String getState() {
-        return state;
-    }
-
-    public void setThreshold(String threshold) {
-        this.threshold = threshold;
-    }
-
-    public String getThreshold() {
-        return threshold;
-    }
+    private String longitude;//经度
+    private String latitude;//纬度
+    private String radius;//距离
 
 
     @Override
     @Override
     public String toString() {
     public String toString() {

+ 4 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionStoragetank.java

@@ -93,6 +93,10 @@ public class CenterdataTHousingconstructionStoragetank extends BaseBusinessEntit
 
 
     private String state;
     private String state;
 
 
+    private String longitude;//经度
+    private String latitude;//纬度
+    private String radius;//距离
+
     @Override
     @Override
     public String toString() {
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

+ 6 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionViewServiceImpl.java

@@ -240,6 +240,9 @@ public class CenterdataTHousingconstructionViewServiceImpl extends BaseServiceIm
                 setSookaDataBase(steelcylinder);
                 setSookaDataBase(steelcylinder);
                 steelcylinder.setEnterpriseId(storagetank.getEnterpriseId());
                 steelcylinder.setEnterpriseId(storagetank.getEnterpriseId());
                 steelcylinder.setName(storagetank.getName());
                 steelcylinder.setName(storagetank.getName());
+                steelcylinder.setLongitude(storagetank.getLongitude());
+                steelcylinder.setLatitude(storagetank.getLatitude());
+                steelcylinder.setRadius(storagetank.getRadius());
                 mapList = centerdataTHousingconstructionViewMapper.getSteelcylinderPointList(steelcylinder);
                 mapList = centerdataTHousingconstructionViewMapper.getSteelcylinderPointList(steelcylinder);
                 break;
                 break;
             case "2":
             case "2":
@@ -248,6 +251,9 @@ public class CenterdataTHousingconstructionViewServiceImpl extends BaseServiceIm
                 setSookaDataBase(realnameuser);
                 setSookaDataBase(realnameuser);
                 realnameuser.setEnterpriseId(storagetank.getEnterpriseId());
                 realnameuser.setEnterpriseId(storagetank.getEnterpriseId());
                 realnameuser.setUserName(storagetank.getName());
                 realnameuser.setUserName(storagetank.getName());
+                realnameuser.setLongitude(storagetank.getLongitude());
+                realnameuser.setLatitude(storagetank.getLatitude());
+                realnameuser.setRadius(storagetank.getRadius());
                 mapList = centerdataTHousingconstructionRealnameuserMapper.getRealnameuserList(realnameuser);
                 mapList = centerdataTHousingconstructionRealnameuserMapper.getRealnameuserList(realnameuser);
                 break;
                 break;
             case "3":
             case "3":

+ 15 - 13
src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionRealnameuserMapper.xml

@@ -131,19 +131,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
     <select id="getRealnameuserList" parameterType="CenterdataTHousingconstructionRealnameuser" resultType="map">
     <select id="getRealnameuserList" parameterType="CenterdataTHousingconstructionRealnameuser" resultType="map">
         SELECT
         SELECT
-        a.id,
-        a.enterprise_id enterpriseId,
-        enterprise_user_type enterpriseUserType,
-        b.dict_label enterpriseUserTypeLabel,
-        user_code userCode,
-        user_name userName,
-        gas_address gasAddress,
-        license_code licenseCode,
-        contact_number contactNumber,
-        account_open_time accountOpenTime,
-        longitude,
-        latitude,
-        a.merchant_name merchantName
+            a.id,
+            a.enterprise_id enterpriseId,
+            enterprise_user_type enterpriseUserType,
+            b.dict_label enterpriseUserTypeLabel,
+            user_code userCode,
+            user_name userName,
+            gas_address gasAddress,
+            license_code licenseCode,
+            contact_number contactNumber,
+            account_open_time accountOpenTime,
+            longitude,
+            latitude,
+            a.merchant_name merchantName,
+            round( st_distance_sphere ( point ( #{longitude}, #{latitude}), point ( longitude, latitude ) ), 2 ) AS distance
         FROM
         FROM
         centerdata_t_housingconstruction_realnameuser a
         centerdata_t_housingconstruction_realnameuser a
         left join ${database_system}.sys_dict_data b on a.enterprise_user_type = b.dict_value
         left join ${database_system}.sys_dict_data b on a.enterprise_user_type = b.dict_value
@@ -154,6 +155,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="userName != null  and userName != ''"> and a.user_name like concat('%', #{userName}, '%')</if>
             <if test="userName != null  and userName != ''"> and a.user_name like concat('%', #{userName}, '%')</if>
             ${params.dataScope}
             ${params.dataScope}
         </where>
         </where>
+        <if test="radius != null">having distance &lt; #{radius}</if>
     </select>
     </select>
 
 
 </mapper>
 </mapper>

+ 23 - 40
src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionViewMapper.xml

@@ -236,7 +236,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         FROM
         FROM
             centerdata_t_housingconstruction_delivery_personnel a
             centerdata_t_housingconstruction_delivery_personnel a
                 LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
                 LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
-        WHERE a.post = 'personnel_sj'
+        WHERE a.post = 'personnel_psy'
         <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
         <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
             ${params.dataScope}
             ${params.dataScope}
     </select>
     </select>
@@ -452,48 +452,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
     <select id="getSteelcylinderPointList" parameterType="CenterdataTHousingconstructionSteelcylinder" resultType="map">
     <select id="getSteelcylinderPointList" parameterType="CenterdataTHousingconstructionSteelcylinder" resultType="map">
         SELECT
         SELECT
-        SUBSTRING_INDEX( GROUP_CONCAT( l.steelcylinder_name ORDER BY sign_time DESC ), ',', 1 ) steelcylinder_name,
-        u.longitude,
-        u.latitude,
-        u.gas_address gasAddress
+            SUBSTRING_INDEX( GROUP_CONCAT( l.steelcylinder_name ORDER BY sign_time DESC ), ',', 1 ) steelcylinderName,
+            u.longitude,
+            u.latitude,
+            u.gas_address gasAddress,
+            d.address,
+        round( st_distance_sphere ( point ( #{longitude}, #{latitude}), point ( longitude, latitude ) ), 2 ) AS distance
         FROM
         FROM
         centerdata_t_housingconstruction_steelcylinder_log l
         centerdata_t_housingconstruction_steelcylinder_log l
         LEFT JOIN centerdata_t_housingconstruction_realnameuser u ON u.id = l.join_house_id
         LEFT JOIN centerdata_t_housingconstruction_realnameuser u ON u.id = l.join_house_id
-        LEFT JOIN onest_system.sys_dept d ON d.dept_id = u.dept_id
-        GROUP BY
-        join_house_id
-
-
-        SELECT
-            a.`name`,
-            a.enterprise_id enterpriseId,
-            a.steelcylinder_number steelcylinderNumber,
-            z.dict_label standardsLabel,
-            a.enterprise_name enterpriseName,
-            c.gas_address gasAddress,
-            c.longitude,
-            c.latitude,
-            d.address
-        FROM
-            centerdata_t_housingconstruction_steelcylinder a
-            LEFT JOIN centerdata_t_housingconstruction_steelcylinder_log b ON a.id = b.steelcylinder_id AND recycling_time IS NULL
-            LEFT JOIN centerdata_t_housingconstruction_realnameuser c ON b.join_house_id = c.id
-            left join ${database_system}.sys_dict_data z on a.standards = z.dict_value
-            left join (SELECT
-                        a.steelcylinder_id,
-                        GROUP_CONCAT(b.gas_address ORDER BY a.sign_time desc SEPARATOR '@_@') address
-                        FROM
-                        centerdata_t_housingconstruction_steelcylinder_log a
-                        LEFT JOIN centerdata_t_housingconstruction_realnameuser b ON a.join_house_id = b.id
-                        GROUP BY a.steelcylinder_id) d on a.id = d.steelcylinder_id
-            left join ${database_system}.sys_dept d on a.dept_id = d.dept_id
-        WHERE
-            a.state = 'state_4'
-            and z.dict_type = 'steelcylinder_type'
-        <if test="name != null  and name != ''"> and a.`name` like concat('%', #{name}, '%')</if>
-        <if test="enterpriseId != null  and enterpriseId != ''"> and a.enterprise_id = #{enterpriseId}</if>
-            ${params.dataScope}
-        GROUP BY a.id
+        LEFT JOIN (SELECT
+                    a.steelcylinder_id,
+                    GROUP_CONCAT( b.gas_address ORDER BY a.sign_time DESC SEPARATOR '@_@' ) address
+                    FROM
+                    centerdata_t_housingconstruction_steelcylinder_log a
+                    LEFT JOIN centerdata_t_housingconstruction_realnameuser b ON a.join_house_id = b.id
+                    GROUP BY
+                    a.steelcylinder_id
+                    ) d ON l.steelcylinder_id = d.steelcylinder_id
+        LEFT JOIN ${database_system}.sys_dept d ON d.dept_id = u.dept_id
+        <where>
+            <if test="enterpriseId != null  and enterpriseId != ''"> and u.enterprise_id = #{enterpriseId}</if>
+            <if test="name != null  and name != ''"> and l.steelcylinder_name like concat('%', #{name}, '%')</if>
+        </where>
+        GROUP BY join_house_id
+        <if test="radius != null">having distance &lt; #{radius}</if>
     </select>
     </select>
 
 
     <select id="getReport" parameterType="CenterdataTHousingconstructionEnterpriseproductionreport" resultType="map">
     <select id="getReport" parameterType="CenterdataTHousingconstructionEnterpriseproductionreport" resultType="map">