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"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<project 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">
<modelVersion>4.0.0</modelVersion>
<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));
}
/**
* 上传航线-绑定工单
*/
@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 io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
@ -34,6 +35,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@RequiredArgsConstructor
@RestController
@RequestMapping("/task")
@Tag(name = "预警工单相关操作")
public class BusinessTaskController extends BaseController {
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 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 org.dromara.common.mybatis.core.domain.BaseEntity;
import java.awt.*;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
@ -29,9 +30,8 @@ public class BusinessTask extends BaseEntity {
@TableId(value = "id")
private Long id;
private BigDecimal lng;
private BigDecimal lat;
@TableField(fill = FieldFill.INSERT)
private Polygon polygonRegion;
/**
* 期望完成时间
@ -42,18 +42,23 @@ public class BusinessTask extends BaseEntity {
/**
* 任务描述
* */
private String explain;
@TableField(fill = FieldFill.INSERT)
private String demand;
/**
* 完成时间
* */
@TableField(fill = FieldFill.UPDATE)
private Date completeTime;
/**
*工单类型0:拍照 1喊话
* */
@TableField(fill = FieldFill.INSERT)
private String taskType;
/**
* 工单状态0预约中 1 等待中2执行中 3 未完成 4已完结
* */
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 })
private Long taskId;
private String tenantId;
/**
* 处理人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;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.business.domain.BusinessTask;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
@ -9,6 +10,8 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.awt.*;
import java.util.Date;
/**
@ -25,25 +28,16 @@ public class BusinessTaskBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
*
*/
@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
private Long lng;
private Long id;
/**
*
*/
@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
private Long lat;
@NotNull(message = "地图不能为空", groups = { EditGroup.class })
private Polygon polygonRegion;
/**
* 工单类型0:拍照 1喊话
*/
@NotBlank(message = "工单类型(0:拍照 1:喊话)不能为空", groups = { AddGroup.class, EditGroup.class })
@NotBlank(message = "工单类型 不能为空", groups = { AddGroup.class, EditGroup.class })
private String taskType;
/**
@ -56,7 +50,7 @@ public class BusinessTaskBo extends BaseEntity {
* 说明
*/
@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 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;
import java.awt.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -37,17 +38,7 @@ public class BusinessTaskVo implements Serializable {
@ExcelProperty(value = "")
private Long id;
/**
*
*/
@ExcelProperty(value = "")
private Long lng;
/**
*
*/
@ExcelProperty(value = "")
private Long lat;
private Polygon polygonRegion;
/**
* 工单类型0:拍照 1喊话
@ -66,7 +57,7 @@ public class BusinessTaskVo implements Serializable {
* 说明
*/
@ExcelProperty(value = "说明")
private String explain;
private String demand;
/**
* 完成时间
@ -81,5 +72,10 @@ public class BusinessTaskVo implements Serializable {
@ExcelDictFormat(readConverterExp = "0=预约中,1=,等=待中,2执行中,3=,未=完成,4=已完结")
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;
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.bo.BusinessTaskBo;
import org.dromara.business.domain.vo.BusinessTaskVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.List;
/**
* 工单预约Mapper接口
@ -15,4 +22,6 @@ public interface BusinessTaskMapper extends BaseMapperPlus<BusinessTask, Busines
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.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.mybatis.helper.DataPermissionHelper;
import org.dromara.system.api.model.LoginUser;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Collection;
@ -52,8 +55,7 @@ public class BusinessTaskServiceImpl implements IBusinessTaskService {
*/
@Override
public TableDataInfo<BusinessTaskVo> queryPageList(BusinessTaskBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<BusinessTask> lqw = buildQueryWrapper(bo);
Page<BusinessTaskVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
Page<BusinessTaskVo> result = baseMapper.queryPageList(pageQuery.build(),bo);
return TableDataInfo.build(result);
}
@ -72,11 +74,9 @@ public class BusinessTaskServiceImpl implements IBusinessTaskService {
private LambdaQueryWrapper<BusinessTask> buildQueryWrapper(BusinessTaskBo bo) {
Map<String, Object> params = bo.getParams();
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(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(StringUtils.isNotBlank(bo.getStatus()), BusinessTask::getStatus, bo.getStatus());
return lqw;
@ -90,6 +90,15 @@ public class BusinessTaskServiceImpl implements IBusinessTaskService {
*/
@Override
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);
boolean flag = baseMapper.insert(add) > 0;
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">
<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 device_id,
name,
@ -16,4 +29,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM devices;
</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>

Loading…
Cancel
Save