Browse Source

提交:预警工单

pull/1/head
袁强 3 months ago
parent
commit
a793f83667
  1. 4
      dk-modules/business/pom.xml
  2. 14
      dk-modules/business/src/main/java/org/dromara/business/controller/BusinessOperationController.java
  3. 2
      dk-modules/business/src/main/java/org/dromara/business/controller/BusinessTaskController.java
  4. 2
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessOperation.java
  5. 13
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java
  6. 2
      dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessOperationBo.java
  7. 28
      dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessTaskBo.java
  8. 20
      dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessTaskVo.java
  9. 9
      dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessTaskMapper.java
  10. 19
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessTaskServiceImpl.java
  11. 43
      dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml

4
dk-modules/business/pom.xml

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>

14
dk-modules/business/src/main/java/org/dromara/business/controller/BusinessOperationController.java

@ -83,6 +83,20 @@ public class BusinessOperationController extends BaseController {
return toAjax(businessOperationService.insertByBo(bo)); return toAjax(businessOperationService.insertByBo(bo));
} }
/**
* 上传航线-绑定工单
*/
@SaCheckPermission("system:operation:add")
@Log(title = "运营中心-上传航线-绑定工单", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/bindFile")
public R<Void> bindFile(@Validated(AddGroup.class) BusinessOperationBo bo) {
//根据工单绘制上传航线,绑定航线,填报信息
return toAjax(businessOperationService.insertByBo(bo));
}
/** /**
* 修改运营中心-工单处理 * 修改运营中心-工单处理
*/ */

2
dk-modules/business/src/main/java/org/dromara/business/controller/BusinessTaskController.java

@ -2,6 +2,7 @@ package org.dromara.business.controller;
import java.util.List; import java.util.List;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
@ -34,6 +35,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/task") @RequestMapping("/task")
@Tag(name = "预警工单相关操作")
public class BusinessTaskController extends BaseController { public class BusinessTaskController extends BaseController {
private final IBusinessTaskService businessTaskService; private final IBusinessTaskService businessTaskService;

2
dk-modules/business/src/main/java/org/dromara/business/domain/BusinessOperation.java

@ -61,5 +61,5 @@ public class BusinessOperation {
*/ */
private String deviceSn; private String deviceSn;
private String tenantId;
} }

13
dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java

@ -8,6 +8,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.awt.*;
import java.io.Serial; import java.io.Serial;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -29,9 +30,8 @@ public class BusinessTask extends BaseEntity {
@TableId(value = "id") @TableId(value = "id")
private Long id; private Long id;
private BigDecimal lng; @TableField(fill = FieldFill.INSERT)
private Polygon polygonRegion;
private BigDecimal lat;
/** /**
* 期望完成时间 * 期望完成时间
@ -42,18 +42,23 @@ public class BusinessTask extends BaseEntity {
/** /**
* 任务描述 * 任务描述
* */ * */
private String explain; @TableField(fill = FieldFill.INSERT)
private String demand;
/** /**
* 完成时间 * 完成时间
* */ * */
@TableField(fill = FieldFill.UPDATE) @TableField(fill = FieldFill.UPDATE)
private Date completeTime; private Date completeTime;
/** /**
*工单类型0:拍照 1喊话 *工单类型0:拍照 1喊话
* */ * */
@TableField(fill = FieldFill.INSERT)
private String taskType; private String taskType;
/** /**
* 工单状态0预约中 1 等待中2执行中 3 未完成 4已完结 * 工单状态0预约中 1 等待中2执行中 3 未完成 4已完结
* */ * */
private String status; private String status;
private String tenantId;
} }

2
dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessOperationBo.java

@ -36,6 +36,8 @@ public class BusinessOperationBo {
@NotNull(message = "工单id不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "工单id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long taskId; private Long taskId;
private String tenantId;
/** /**
* 处理人id * 处理人id
*/ */

28
dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessTaskBo.java

@ -1,6 +1,7 @@
package org.dromara.business.domain.bo; package org.dromara.business.domain.bo;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.business.domain.BusinessTask; import org.dromara.business.domain.BusinessTask;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
@ -9,6 +10,8 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import java.awt.*;
import java.util.Date; import java.util.Date;
/** /**
@ -25,25 +28,16 @@ public class BusinessTaskBo extends BaseEntity {
/** /**
* *
*/ */
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/** private Long id;
*
*/
@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
private Long lng;
/** @NotNull(message = "地图不能为空", groups = { EditGroup.class })
* private Polygon polygonRegion;
*/
@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
private Long lat;
/** /**
* 工单类型0:拍照 1喊话 * 工单类型0:拍照 1喊话
*/ */
@NotBlank(message = "工单类型(0:拍照 1:喊话)不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "工单类型 不能为空", groups = { AddGroup.class, EditGroup.class })
private String taskType; private String taskType;
/** /**
@ -56,7 +50,7 @@ public class BusinessTaskBo extends BaseEntity {
* 说明 * 说明
*/ */
@NotBlank(message = "说明不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "说明不能为空", groups = { AddGroup.class, EditGroup.class })
private String explain; private String demand;
/** /**
* 完成时间 * 完成时间
@ -70,5 +64,11 @@ public class BusinessTaskBo extends BaseEntity {
private String status; private String status;
private String startTime;
private String endTime;
private String tenantId;
private String nickName;
private String deptName;
} }

20
dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessTaskVo.java

@ -1,5 +1,6 @@
package org.dromara.business.domain.vo; package org.dromara.business.domain.vo;
import java.awt.*;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -37,17 +38,7 @@ public class BusinessTaskVo implements Serializable {
@ExcelProperty(value = "") @ExcelProperty(value = "")
private Long id; private Long id;
/** private Polygon polygonRegion;
*
*/
@ExcelProperty(value = "")
private Long lng;
/**
*
*/
@ExcelProperty(value = "")
private Long lat;
/** /**
* 工单类型0:拍照 1喊话 * 工单类型0:拍照 1喊话
@ -66,7 +57,7 @@ public class BusinessTaskVo implements Serializable {
* 说明 * 说明
*/ */
@ExcelProperty(value = "说明") @ExcelProperty(value = "说明")
private String explain; private String demand;
/** /**
* 完成时间 * 完成时间
@ -81,5 +72,10 @@ public class BusinessTaskVo implements Serializable {
@ExcelDictFormat(readConverterExp = "0=预约中,1=,等=待中,2执行中,3=,未=完成,4=已完结") @ExcelDictFormat(readConverterExp = "0=预约中,1=,等=待中,2执行中,3=,未=完成,4=已完结")
private String status; private String status;
@ExcelProperty(value = "完成时间")
private Long createBy;
private String nickName;
private Long createDept;
private String deptName;
} }

9
dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessTaskMapper.java

@ -1,9 +1,16 @@
package org.dromara.business.mapper; package org.dromara.business.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.business.domain.BusinessTask; import org.dromara.business.domain.BusinessTask;
import org.dromara.business.domain.bo.BusinessTaskBo;
import org.dromara.business.domain.vo.BusinessTaskVo; import org.dromara.business.domain.vo.BusinessTaskVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.List;
/** /**
* 工单预约Mapper接口 * 工单预约Mapper接口
@ -15,4 +22,6 @@ public interface BusinessTaskMapper extends BaseMapperPlus<BusinessTask, Busines
int distance(); int distance();
Page<BusinessTaskVo> queryPageList(@Param("page") Page<?> page, @Param("bo") BusinessTaskBo bo);
} }

19
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessTaskServiceImpl.java

@ -13,9 +13,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.mybatis.helper.DataPermissionHelper;
import org.dromara.system.api.model.LoginUser;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Collection; import java.util.Collection;
@ -52,8 +55,7 @@ public class BusinessTaskServiceImpl implements IBusinessTaskService {
*/ */
@Override @Override
public TableDataInfo<BusinessTaskVo> queryPageList(BusinessTaskBo bo, PageQuery pageQuery) { public TableDataInfo<BusinessTaskVo> queryPageList(BusinessTaskBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<BusinessTask> lqw = buildQueryWrapper(bo); Page<BusinessTaskVo> result = baseMapper.queryPageList(pageQuery.build(),bo);
Page<BusinessTaskVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -72,11 +74,9 @@ public class BusinessTaskServiceImpl implements IBusinessTaskService {
private LambdaQueryWrapper<BusinessTask> buildQueryWrapper(BusinessTaskBo bo) { private LambdaQueryWrapper<BusinessTask> buildQueryWrapper(BusinessTaskBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BusinessTask> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<BusinessTask> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getLng() != null, BusinessTask::getLng, bo.getLng());
lqw.eq(bo.getLat() != null, BusinessTask::getLat, bo.getLat());
lqw.eq(StringUtils.isNotBlank(bo.getTaskType()), BusinessTask::getTaskType, bo.getTaskType()); lqw.eq(StringUtils.isNotBlank(bo.getTaskType()), BusinessTask::getTaskType, bo.getTaskType());
lqw.eq(bo.getExpectTime() != null, BusinessTask::getExpectTime, bo.getExpectTime()); lqw.eq(bo.getExpectTime() != null, BusinessTask::getExpectTime, bo.getExpectTime());
lqw.eq(StringUtils.isNotBlank(bo.getExplain()), BusinessTask::getExplain, bo.getExplain()); lqw.eq(StringUtils.isNotBlank(bo.getDemand()), BusinessTask::getDemand, bo.getDemand());
lqw.eq(bo.getCompleteTime() != null, BusinessTask::getCompleteTime, bo.getCompleteTime()); lqw.eq(bo.getCompleteTime() != null, BusinessTask::getCompleteTime, bo.getCompleteTime());
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), BusinessTask::getStatus, bo.getStatus()); lqw.eq(StringUtils.isNotBlank(bo.getStatus()), BusinessTask::getStatus, bo.getStatus());
return lqw; return lqw;
@ -90,6 +90,15 @@ public class BusinessTaskServiceImpl implements IBusinessTaskService {
*/ */
@Override @Override
public Boolean insertByBo(BusinessTaskBo bo) { public Boolean insertByBo(BusinessTaskBo bo) {
// 获取当前登录用户信息
LoginUser currentUser = DataPermissionHelper.getVariable("user");
bo.setCreateBy(currentUser.getUserId());
bo.setNickName(currentUser.getNickname());
bo.setCreateDept(currentUser.getDeptId());
bo.setDeptName(currentUser.getDeptName());
bo.setTenantId(currentUser.getTenantId());
bo.setStatus("0");
bo.setCreateTime(new Date());
BusinessTask add = MapstructUtils.convert(bo, BusinessTask.class); BusinessTask add = MapstructUtils.convert(bo, BusinessTask.class);
boolean flag = baseMapper.insert(add) > 0; boolean flag = baseMapper.insert(add) > 0;
if (flag) { if (flag) {

43
dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml

@ -4,6 +4,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.business.mapper.BusinessTaskMapper"> <mapper namespace="org.dromara.business.mapper.BusinessTaskMapper">
<resultMap id="businessTaskMap" type="org.dromara.business.domain.vo.BusinessTaskVo">
<id column="id" property="id" />
<result column="task_type" property="taskType" />
<result column="expect_time" property="expectTime" />
<result column="demand" property="demand" />
<result column="complete_time" property="completeTime" />
<result column="status" property="status" />
<result column="create_by" property="createBy" />
<result column="nick_name" property="nickName" />
<result column="create_dept" property="createDept" />
<result column="dept_name" property="deptName" />
<result column="status" property="status" />
</resultMap>
<select id="distance" resultType="java.lang.Integer"> <select id="distance" resultType="java.lang.Integer">
SELECT device_id, SELECT device_id,
name, name,
@ -16,4 +29,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM devices; FROM devices;
</select> </select>
<select id="queryPageList" resultMap="businessTaskMap">
select id, task_type, expect_time, demand, complete_time, status ,create_by ,nick_name, create_dept, dept_name
from business_task t
<where>
<if test="bo.taskType != null and bo.taskType != ''">
and t.task_type = #{bo.taskType}
</if>
<if test="bo.status != null and bo.status != ''">
and t.status = #{bo.status}
</if>
<if test="bo.nickName != null and bo.nickName != ''">
and t.nick_name like CONCAT(#{bo.nickName}, '%')
</if>
<if test="bo.deptName != null and bo.deptName != ''">
and t.dept_name like CONCAT(#{bo.deptName}, '%')
</if>
<choose>
<when test="bo.startTime != null and bo.endTime != null">
and t.create_time between #{bo.startTime} and #{bo.endTime}
</when>
<when test="bo.startTime != null">
and t.create_time &gt;= #{bo.startTime}
</when>
<when test="bo.endTime != null">
and t.create_time &lt;= #{bo.endTime}
</when>
</choose>
</where>
order by status
</select>
</mapper> </mapper>

Loading…
Cancel
Save