浏览代码

Merge branch 'dev' into dev-2.0

lyq 1 年之前
父节点
当前提交
3f383dd97c

+ 1 - 5
data-ui/src/views/data/digitalfirecontrol/sensor/index.vue

@@ -128,10 +128,6 @@
               <treeselect v-model="form.deptId" :options="deptOptions" multiple:false :show-count="true" :noResultsText="'空'" :no0ptionsText="'空'"
                           placeholder="请选择部门" @select="hx"/>
             </el-form-item>
-<!--            <el-form-item label="所属部门" prop="deptId" label-width="120px" class="form-style">-->
-<!--              <deptselector :setValue=setDataDeptId :dataDeptId="form.deptId" v-if=!disabled-->
-<!--                            v-model="form.deptId"></deptselector>-->
-<!--            </el-form-item>-->
           </el-col>
           <el-col :span="12">
             <el-form-item label="安装位置" prop="address" label-width="120px">
@@ -160,7 +156,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="24">
-            <el-form-item label="图片" prop="attachPaths">
+            <el-form-item label="图片" prop="attachPaths" style="margin-left: 40px">
               <DataImageUpload ref="ImageUpload" :fileType="['png', 'jpg', 'jpeg']" :value="form.attachPaths"
                                @input="getUrl"></DataImageUpload>
             </el-form-item>

+ 1 - 1
data-ui/src/views/data/digitalwater/task/index.vue

@@ -77,7 +77,7 @@
         </template>
       </el-table-column>
       <el-table-column label="计划巡查距离(km)" align="center" prop="planLength"/>
-      <el-table-column label="实际巡查距离(km)" align="center" prop="realLength"/>
+      <el-table-column label="实际巡查距离(km)" align="center" prop="distance"/>
       <el-table-column label="所属部门" align="center" prop="deptName"/>
       <el-table-column label="创建人" align="center" prop="createName"/>
       <el-table-column label="创建时间" align="center" prop="createTime"/>

+ 4 - 4
data-ui/src/views/data/generalbusiness/keyProjects/index.vue

@@ -102,7 +102,7 @@
     <el-table v-loading="loading" :data="projectsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="70" align="center"/>
       <el-table-column label="属地辖区" align="center" prop="territoriality"/>
-      <el-table-column label="所属开发区" align="center" prop="park" :show-overflow-tooltip="true"/>
+      <el-table-column label="所属开发区" align="center" prop="parkLabel" :show-overflow-tooltip="true"/>
       <!--      <el-table-column label="开发区中心点经度" align="center" prop="parkLongitude"/>-->
       <!--      <el-table-column label="开发区中心点纬度" align="center" prop="parkLatitude"/>-->
       <el-table-column label="项目名称" align="center" prop="projectName" width="150" :show-overflow-tooltip="true"/>
@@ -820,6 +820,7 @@ export default {
         introduction: null,
         parkLongitude: null,
         parkLatitude: null,
+        parkLabel:null
       },
       historyQueryParams: {
         startTIme: null,
@@ -919,7 +920,6 @@ export default {
   },
   created() {
     this.getTreeselect();
-
     selectCenterMonitorlList(this.queryParams).then(response => {
       this.cameraList = response.data;
     });
@@ -979,7 +979,7 @@ export default {
       this.loading = true;
       await listProjects(this.queryParams).then(response => {
         this.projectsList = response.rows;
-        let projectsList1 = []
+    /*    let projectsList1 = []
         this.projectsList.forEach(item1 => {
           this.deptOptionsPark.forEach(item => {
             if (item1.park == item.deptId) {
@@ -988,7 +988,7 @@ export default {
           })
           projectsList1.push(item1)
         })
-        this.projectsList = projectsList1;
+        this.projectsList = projectsList1;*/
         this.total = response.total;
         this.loading = false;
       });

+ 3 - 0
src/main/java/com/sooka/sponest/data/digitalwater/domain/CenterdataTHydraulicPatrolPlanRecord.java

@@ -85,4 +85,7 @@ public class CenterdataTHydraulicPatrolPlanRecord extends BaseBusinessEntity {
     @ApiModelProperty(value = "任务轨迹", required = false)
     private String patrolTrajectory;
 
+    //实际距离
+    private String distance;
+
 }

+ 3 - 0
src/main/java/com/sooka/sponest/data/digitalwater/domain/CenterdataTHydraulicPatrolTask.java

@@ -104,4 +104,7 @@ public class CenterdataTHydraulicPatrolTask extends BaseBusinessEntity {
     private String realLength;
     @ApiModelProperty(required = false,hidden = true)
     private String leadType;
+
+    //实际距离
+    private String distance;
 }

+ 2 - 0
src/main/java/com/sooka/sponest/data/digitalwater/mapper/CenterdataTHydraulicTrackMapper.java

@@ -62,4 +62,6 @@ public interface CenterdataTHydraulicTrackMapper {
     int deleteCenterdataTrack(@Param("ids") String[] ids);
 
     int deleteCenterdataRecord(@Param("ids") String[] ids);
+
+    String actualDistance(String recordId);
 }

+ 15 - 11
src/main/java/com/sooka/sponest/data/digitalwater/service/impl/CenterdataTHydraulicPatrolPlanRecordServiceImpl.java

@@ -5,6 +5,7 @@ import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicPatrolPlanRecord;
 import com.sooka.sponest.data.digitalwater.mapper.CenterdataTHydraulicPatrolPlanRecordMapper;
+import com.sooka.sponest.data.digitalwater.mapper.CenterdataTHydraulicTrackMapper;
 import com.sooka.sponest.data.digitalwater.service.ICenterdataTHydraulicPatrolPlanRecordService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -23,6 +24,9 @@ public class CenterdataTHydraulicPatrolPlanRecordServiceImpl implements ICenterd
     @Autowired
     private CenterdataTHydraulicPatrolPlanRecordMapper centerdataTHydraulicPatrolPlanRecordMapper;
 
+    @Autowired
+    private CenterdataTHydraulicTrackMapper centerdataTHydraulicTrackMapper;
+
     /**
      * 查询水利巡查记录列表
      *
@@ -48,7 +52,7 @@ public class CenterdataTHydraulicPatrolPlanRecordServiceImpl implements ICenterd
         centerdataTHydraulicPatrolPlanRecord.setId(UuidUtils.generateUuid());
         centerdataTHydraulicPatrolPlanRecord.setBeginTime(DateUtils.getTime());
         centerdataTHydraulicPatrolPlanRecord.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getUserId().toString());
-        centerdataTHydraulicPatrolPlanRecord.setCreateName(SecurityUtils.getUsername());
+        centerdataTHydraulicPatrolPlanRecord.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
         centerdataTHydraulicPatrolPlanRecord.setCreateTime(DateUtils.getNowDate());
         centerdataTHydraulicPatrolPlanRecordMapper.insertCenterdataTHydraulicPatrolPlanRecord(centerdataTHydraulicPatrolPlanRecord);
         return centerdataTHydraulicPatrolPlanRecord.getId();
@@ -58,15 +62,12 @@ public class CenterdataTHydraulicPatrolPlanRecordServiceImpl implements ICenterd
         //结束当前用户在当前任务中所有未结束的巡查记录
         List<CenterdataTHydraulicPatrolPlanRecord> list = centerdataTHydraulicPatrolPlanRecordMapper.selectCenterdataTHydraulicPatrolPlanRecordList(centerdataTHydraulicPatrolPlanRecord);
         for (CenterdataTHydraulicPatrolPlanRecord record : list) {
-            CenterdataTHydraulicPatrolPlanRecord planRecord = new CenterdataTHydraulicPatrolPlanRecord();
-            planRecord.setTaskId(record.getTaskId());
-            planRecord.setUserId(record.getUserId());
-            planRecord.setEndTime(DateUtils.getTime());
-            planRecord.setStatus("1");
-            centerdataTHydraulicPatrolPlanRecord.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getUserId());
-            centerdataTHydraulicPatrolPlanRecord.setUpdateName(SecurityUtils.getUsername());
-            centerdataTHydraulicPatrolPlanRecord.setUpdateTime(DateUtils.getNowDate());
-            centerdataTHydraulicPatrolPlanRecordMapper.finishRecoed(centerdataTHydraulicPatrolPlanRecord);
+            record.setEndTime(DateUtils.getTime());
+            record.setStatus("1");
+            record.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getUserId());
+            record.setUpdateName(SecurityUtils.getUsername());
+            record.setUpdateTime(DateUtils.getNowDate());
+            centerdataTHydraulicPatrolPlanRecordMapper.finishRecoed(record);
         }
     }
 
@@ -81,8 +82,11 @@ public class CenterdataTHydraulicPatrolPlanRecordServiceImpl implements ICenterd
         centerdataTHydraulicPatrolPlanRecord.setEndTime(DateUtils.getTime());
         centerdataTHydraulicPatrolPlanRecord.setStatus("1");
         centerdataTHydraulicPatrolPlanRecord.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getUserId());
-        centerdataTHydraulicPatrolPlanRecord.setUpdateName(SecurityUtils.getUsername());
+        centerdataTHydraulicPatrolPlanRecord.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
         centerdataTHydraulicPatrolPlanRecord.setUpdateTime(DateUtils.getNowDate());
+        centerdataTHydraulicPatrolPlanRecordMapper.finishRecoed(centerdataTHydraulicPatrolPlanRecord);
+        String distance = centerdataTHydraulicTrackMapper.actualDistance(centerdataTHydraulicPatrolPlanRecord.getId());
+        centerdataTHydraulicPatrolPlanRecord.setDistance(distance);
         return centerdataTHydraulicPatrolPlanRecordMapper.finishRecoed(centerdataTHydraulicPatrolPlanRecord);
     }
 }

+ 16 - 0
src/main/java/com/sooka/sponest/data/digitalwater/service/impl/CenterdataTHydraulicTrackServiceImpl.java

@@ -106,6 +106,9 @@ public class CenterdataTHydraulicTrackServiceImpl extends BaseServiceImpl implem
         int i = centerdataTHydraulicTrackMapper.insertCenterdataRecord(centerdataTHydraulicPatrolPlanRecord);
         if (i > 0) {
             addTrack(centerdataTHydraulicPatrolPlanRecord);
+            String distance = this.actualDistance(centerdataTHydraulicPatrolPlanRecord.getId());
+            centerdataTHydraulicPatrolPlanRecord.setDistance(distance);
+            centerdataTHydraulicTrackMapper.updateCenterdataRecord(centerdataTHydraulicPatrolPlanRecord);
             return 1;
         } else {
             return 0;
@@ -126,6 +129,9 @@ public class CenterdataTHydraulicTrackServiceImpl extends BaseServiceImpl implem
         centerdataTHydraulicPatrolPlanRecord.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getUserId());
         centerdataTHydraulicPatrolPlanRecord.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
         centerdataTHydraulicPatrolPlanRecord.setUpdateTime(DateUtils.getNowDate());
+        centerdataTHydraulicTrackMapper.updateCenterdataRecord(centerdataTHydraulicPatrolPlanRecord);
+        String distance = this.actualDistance(centerdataTHydraulicPatrolPlanRecord.getId());
+        centerdataTHydraulicPatrolPlanRecord.setDistance(distance);
         return centerdataTHydraulicTrackMapper.updateCenterdataRecord(centerdataTHydraulicPatrolPlanRecord);
     }
 
@@ -172,4 +178,14 @@ public class CenterdataTHydraulicTrackServiceImpl extends BaseServiceImpl implem
         return centerdataTHydraulicTrackMapper.insertCenterdataTrack(jsonlist);
     }
 
+    /*
+     * 计算实际距离
+     *
+     * @author 韩福成
+     * @date 2023/12/28 16:00
+     */
+    public String actualDistance(String recordId) {
+        return centerdataTHydraulicTrackMapper.actualDistance(recordId);
+    }
+
 }

+ 14 - 1
src/main/java/com/sooka/sponest/data/generalbusiness/domain/CenterdataTKeyProjects.java

@@ -39,9 +39,14 @@ public class CenterdataTKeyProjects extends BaseBusinessEntity {
      * 所属开发区
      */
     @ApiModelProperty(value = "所属开发区", required = false)
-    @Excel(name = "所属开发区",dictType = "centerdata_park")
+   // @Excel(name = "所属开发区",dictType = "centerdata_park")
     private String park;
 
+
+
+    @Excel(name = "所属开发区")
+    private String parkLabel;
+
     /**
      * 开发区中心点经度
      */
@@ -516,6 +521,14 @@ public class CenterdataTKeyProjects extends BaseBusinessEntity {
         this.deviceList = deviceList;
     }
 
+    public String getParkLabel() {
+        return parkLabel;
+    }
+
+    public void setParkLabel(String parkLabel) {
+        this.parkLabel = parkLabel;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

+ 1 - 0
src/main/resources/mapper/digitalwater/CenterdataTHydraulicPatrolPlanRecordMapper.xml

@@ -67,6 +67,7 @@
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateName != null">update_name = #{updateName},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="distance != null">distance = #{distance},</if>
         </trim>
         where id = #{id}
     </update>

+ 7 - 25
src/main/resources/mapper/digitalwater/CenterdataTHydraulicPatrolTaskMapper.xml

@@ -24,6 +24,7 @@
         <result property="planCount" column="planCount"/>
         <result property="recordCount" column="recordCount"/>
         <result property="patrolTrajectory" column="patrol_trajectory"/>
+        <result property="distance" column="distance"/>
     </resultMap>
 
     <resultMap type="SysUserBody" id="SysUserBody">
@@ -41,9 +42,11 @@
 
     <select id="selectCenterdataTHydraulicPatrolTaskList" parameterType="CenterdataTHydraulicPatrolTask"
             resultMap="CenterdataTHydraulicPatrolTaskResult">
-        SELECT t1.*,IFNULL(Round( t2.length / 1000,2),0) realLength FROM (
-        <include refid="selectCenterdataTHydraulicPatrolTaskVo"/>
+        select a.id, a.task_name, a.plan_id, a.plan_name,a.user_id,a.status, a.dept_id, a.dept_name, a.create_by, a.create_name,
+        a.create_time, a.update_by, a.update_name, a.update_time, a.data_status, a.type,a.patrol_trajectory,sum( b.distance ) distance
+        from centerdata_t_hydraulic_patrol_task a
         left join ${database_system}.sys_dept d on a.dept_id = d.dept_id
+        LEFT JOIN centerdata_t_hydraulic_patrol_plan_record b ON a.id = b.task_id
         <where>
             <if test="planId != null  and planId != ''">and a.plan_id = #{planId}</if>
             <if test="planName != null  and planName != ''">and a.plan_name like concat('%', #{planName}, '%')</if>
@@ -58,29 +61,8 @@
             <if test="type != null  and type != ''">and a.type = #{type}</if>
             ${params.dataScope}
         </where>
-        ) t1
-        LEFT JOIN (
-        SELECT task_id, sum( c.juli ) length FROM (
-        SELECT a.task_id,
-        IFNULL( st_distance_sphere ( point ( a.longitude, a.latitude ), point ( b.longitude, b.latitude ) ), 0 ) AS juli
-        FROM (
-        SELECT a.*,(@i := @i + 1) AS xh FROM (
-        SELECT a.task_id,b.longitude,b.latitude
-        FROM centerdata_t_hydraulic_patrol_plan_record a
-        LEFT JOIN centerdata_t_hydraulic_patrol_track b ON b.record_id = a.id
-        ORDER BY b.create_time) a,(SELECT @i := 1) AS itable
-        ) a
-        LEFT JOIN (
-        SELECT a.*,(@j := @j + 1) AS xh FROM(
-        SELECT a.task_id,b.longitude,b.latitude
-        FROM centerdata_t_hydraulic_patrol_plan_record a
-        LEFT JOIN centerdata_t_hydraulic_patrol_track b ON b.record_id = a.id
-        ORDER BY b.create_time) a,(SELECT @j := 0) AS itable
-        ) b ON a.xh = b.xh AND a.task_id = b.task_id
-        ) c
-        GROUP BY task_id
-        ) t2 ON t2.task_id = t1.id
-        ORDER BY t1.create_time DESC
+        GROUP BY a.id
+        ORDER BY a.create_time DESC
     </select>
 
     <select id="selectCenterdataTHydraulicPatrolTaskById" parameterType="String"

+ 25 - 0
src/main/resources/mapper/digitalwater/CenterdataTHydraulicTrackMapper.xml

@@ -145,6 +145,7 @@
             <if test="createBy != null">create_by,</if>
             <if test="createTime != null">create_time,</if>
             <if test="createName != null">create_name,</if>
+            <if test="distance != null">distance,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -157,6 +158,7 @@
             <if test="createBy != null">#{createBy},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="createName != null">#{createName},</if>
+            <if test="distance != null">#{distance},</if>
         </trim>
     </insert>
 
@@ -205,6 +207,7 @@
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateName != null">update_name = #{updateName},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="distance != null">distance = #{distance},</if>
         </trim>
         where id = #{id}
     </update>
@@ -215,4 +218,26 @@
             #{id}
         </foreach>
     </delete>
+
+    <select id="actualDistance" parameterType="String" resultType="java.lang.String">
+        SELECT  IFNULL(Round( sum( c.juli ) / 1000,2),0) distance FROM (
+        SELECT
+        IFNULL( st_distance_sphere ( point ( a.longitude, a.latitude ), point ( b.longitude, b.latitude ) ), 0 ) AS juli
+        FROM (
+        SELECT a.*,(@i := @i + 1) AS xh FROM (
+        SELECT a.id,b.create_time,b.longitude,b.latitude
+        FROM centerdata_t_hydraulic_patrol_plan_record a
+        LEFT JOIN centerdata_t_hydraulic_patrol_track b ON b.record_id = a.id
+        where a.id = #{recordId}
+        ORDER BY a.create_time, b.create_time) a,(SELECT @i := 1) AS itable
+        ) a
+        LEFT JOIN (
+        SELECT a.*,(@j := @j + 1) AS xh FROM(
+        SELECT a.id,b.create_time,b.longitude,b.latitude
+        FROM centerdata_t_hydraulic_patrol_plan_record a
+        LEFT JOIN centerdata_t_hydraulic_patrol_track b ON b.record_id = a.id
+        where a.id = #{recordId}
+        ORDER BY a.create_time, b.create_time) a,(SELECT @j := 0) AS itable
+        ) b ON a.xh = b.xh AND a.id = b.id) c
+    </select>
 </mapper>

+ 5 - 1
src/main/resources/mapper/generalbusiness/CenterdataTKeyProjectsMapper.xml

@@ -44,6 +44,7 @@
         <result property="secretary" column="secretary"/>
         <result property="secretaryDuties" column="secretary_duties"/>
         <result property="secretaryPhone" column="secretary_phone"/>
+        <result property="parkLabel" column="parkLabel"/>
     </resultMap>
 
     <sql id="selectCenterdataTKeyProjectsVo">
@@ -53,8 +54,11 @@
 
     <select id="selectCenterdataTKeyProjectsList" parameterType="CenterdataTKeyProjects"
             resultMap="CenterdataTKeyProjectsResult">
-        select a.* from centerdata_t_key_projects a
+        select a.* ,
+        dd.dept_name as parkLabel
+        from centerdata_t_key_projects a
         left join ${database_system}.sys_dept d ON d.dept_id = a.dept_id
+        LEFT JOIN ${database_system}.sys_dept dd on dd.dept_id = a.park
         <where>
             <if test="projectName != null  and projectName != ''">and project_name like concat('%', #{projectName},
                 '%')