Przeglądaj źródła

新建工单关联表

dingxin 6 lat temu
rodzic
commit
bcaa848d19
14 zmienionych plików z 524 dodań i 0 usunięć
  1. 1
    0
      CODE/smart-community/app-api/src/main/resources/mapper/TpTicketMapper.xml
  2. 54
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/TpTicketController.java
  3. 22
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpTicketMapper.java
  4. 16
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpTicketRecordCommentMapper.java
  5. 16
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpTicketRecordMapper.java
  6. 104
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpTicket.java
  7. 57
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpTicketRecord.java
  8. 72
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpTicketRecordComment.java
  9. 23
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/TpTicketService.java
  10. 76
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TpTicketServiceImpl.java
  11. 26
    0
      CODE/smart-community/property-api/src/main/java/com/community/huiju/vo/TpTicketVO.java
  12. 47
    0
      CODE/smart-community/property-api/src/main/resources/mapper/TpTicketMapper.xml
  13. 5
    0
      CODE/smart-community/property-api/src/main/resources/mapper/TpTicketRecordCommentMapper.xml
  14. 5
    0
      CODE/smart-community/property-api/src/main/resources/mapper/TpTicketRecordMapper.xml

+ 1
- 0
CODE/smart-community/app-api/src/main/resources/mapper/TpTicketMapper.xml Wyświetl plik

@@ -248,4 +248,5 @@
248 248
         t.id = #{ticketId,jdbcType=INTEGER}
249 249
         AND t.community_id = #{communityId,jdbcType=INTEGER}
250 250
   </select>
251
+  <select id="ticketList" resultType="com.community.huiju.model.TpTicket"></select>
251 252
 </mapper>

+ 54
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/TpTicketController.java Wyświetl plik

@@ -0,0 +1,54 @@
1
+package com.community.huiju.controller;
2
+
3
+
4
+import com.community.commom.mode.ResponseBean;
5
+import com.community.commom.session.UserElement;
6
+import com.community.huiju.service.IUserService;
7
+import com.community.huiju.service.TpTicketService;
8
+import io.swagger.annotations.Api;
9
+import io.swagger.annotations.ApiImplicitParam;
10
+import io.swagger.annotations.ApiImplicitParams;
11
+import io.swagger.annotations.ApiOperation;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.RequestBody;
14
+import org.springframework.web.bind.annotation.RequestMapping;
15
+
16
+import org.springframework.web.bind.annotation.RequestMethod;
17
+import org.springframework.web.bind.annotation.RestController;
18
+import com.community.huiju.common.base.BaseController;
19
+
20
+import javax.servlet.http.HttpSession;
21
+
22
+/**
23
+ * <p>
24
+ * 工单表 前端控制器
25
+ * </p>
26
+ *
27
+ * @author jobob
28
+ * @since 2019-02-14
29
+ */
30
+@RestController
31
+@RequestMapping("/")
32
+@Api(value = "工单列表API", description = "工单列表API")
33
+public class TpTicketController extends BaseController {
34
+    @Autowired
35
+    private IUserService userService;
36
+
37
+    @Autowired
38
+    private TpTicketService tpTicketService;
39
+    @ApiOperation(value = "工单列表", notes = "工单列表")
40
+    @ApiImplicitParams({
41
+            @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter",value = "id:工单编号," +
42
+                    "type:工单类型(1:投诉 2:报修   3:联系物业)," +
43
+                    "ticketTitle:工单标题,createUser:发起人," +
44
+                    "status:流转状态(0:待分配  1:拒绝受理 2:待处理 3:正在处理 4:待评价 5:已评价 6:已终止')" +
45
+                    "tpUserId:当前处理人" )
46
+    })
47
+    @RequestMapping(value = "/ticketLiset", method = RequestMethod.POST)
48
+    public ResponseBean addUser(@RequestBody String parameter, HttpSession session){
49
+//        UserElement userElement = getUserElement(session);
50
+        ResponseBean  responseBean = tpTicketService.ticketLiset(parameter);
51
+        return responseBean;
52
+    }
53
+
54
+}

+ 22
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpTicketMapper.java Wyświetl plik

@@ -0,0 +1,22 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.community.huiju.model.TpTicket;
7
+import org.apache.ibatis.annotations.Mapper;
8
+import org.apache.ibatis.annotations.Param;
9
+
10
+/**
11
+ * <p>
12
+ * 工单表 Mapper 接口
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-02-14
17
+ */
18
+@Mapper
19
+public interface TpTicketMapper extends BaseMapper<TpTicket> {
20
+
21
+    IPage<TpTicket> ticketList(Page page, @Param("ticket")TpTicket ticket);
22
+}

+ 16
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpTicketRecordCommentMapper.java Wyświetl plik

@@ -0,0 +1,16 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.community.huiju.model.TpTicketRecordComment;
4
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
+
6
+/**
7
+ * <p>
8
+ * 物业端工单追问表 Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-02-14
13
+ */
14
+public interface TpTicketRecordCommentMapper extends BaseMapper<TpTicketRecordComment> {
15
+
16
+}

+ 16
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/dao/TpTicketRecordMapper.java Wyświetl plik

@@ -0,0 +1,16 @@
1
+package com.community.huiju.dao;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.community.huiju.model.TpTicketRecord;
5
+
6
+/**
7
+ * <p>
8
+ * 工单处理表 Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-02-14
13
+ */
14
+public interface TpTicketRecordMapper extends BaseMapper<TpTicketRecord> {
15
+
16
+}

+ 104
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpTicket.java Wyświetl plik

@@ -0,0 +1,104 @@
1
+package com.community.huiju.model;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import com.baomidou.mybatisplus.annotation.TableName;
6
+import java.time.LocalDateTime;
7
+import java.io.Serializable;
8
+import lombok.Data;
9
+import lombok.EqualsAndHashCode;
10
+import lombok.experimental.Accessors;
11
+
12
+/**
13
+ * <p>
14
+ * 工单表
15
+ * </p>
16
+ *
17
+ * @author jobob
18
+ * @since 2019-02-14
19
+ */
20
+@Data
21
+@EqualsAndHashCode(callSuper = false)
22
+@Accessors(chain = true)
23
+@TableName("tp_ticket")
24
+public class TpTicket implements Serializable {
25
+
26
+    private static final long serialVersionUID = 1L;
27
+
28
+    /**
29
+     * 工单id
30
+     */
31
+    @TableId(value = "id", type = IdType.AUTO)
32
+    private Integer id;
33
+    /**
34
+     * 小区id
35
+     */
36
+    private Integer communityId;
37
+
38
+    /**
39
+     * 住户app的id
40
+     */
41
+    private Integer taUserId;
42
+
43
+    /**
44
+     * 工单标题
45
+     */
46
+    private String ticketTitle;
47
+
48
+    /**
49
+     * 工单内容
50
+     */
51
+    private String ticketContent;
52
+
53
+    /**
54
+     * 流转状态      0:待分配  1:拒绝受理 2:待处理 3:正在处理 4:待评价 5:已评价 6:已终止
55
+     */
56
+    private String status;
57
+
58
+    /**
59
+     * 类型    type:    1:投诉 2:报修   3:联系物业  字典
60
+     */
61
+    private String type;
62
+
63
+    /**
64
+     * 报修类型:0:公共区域  1: 房屋质量  2::户内设施  PS : 报修的情况下才有报修类型 加表
65
+     */
66
+    private String repairType;
67
+
68
+    /**
69
+     * 受理人id 也就是物业的用户id   加 中间关系表
70
+     */
71
+    private Integer tpUserId;
72
+
73
+    /**
74
+     * 评分
75
+     */
76
+    private String score;
77
+
78
+    /**
79
+     * 评语
80
+     */
81
+    private String comment;
82
+
83
+    /**
84
+     * 创建人
85
+     */
86
+    private Integer createUser;
87
+
88
+    /**
89
+     * 创建时间
90
+     */
91
+    private LocalDateTime createDate;
92
+
93
+    /**
94
+     * 更新人
95
+     */
96
+    private Integer updateUser;
97
+
98
+    /**
99
+     * 更新时间
100
+     */
101
+    private LocalDateTime updateDate;
102
+
103
+
104
+}

+ 57
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpTicketRecord.java Wyświetl plik

@@ -0,0 +1,57 @@
1
+package com.community.huiju.model;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableName;
4
+import java.time.LocalDateTime;
5
+import java.io.Serializable;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 工单处理表
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-02-14
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@TableName("tp_ticket_record")
22
+public class TpTicketRecord implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 小区id
28
+     */
29
+    private Integer communityId;
30
+
31
+    /**
32
+     * 工单id
33
+     */
34
+    private Integer ticketId;
35
+
36
+    /**
37
+     * 自动生成的提示信息
38
+     */
39
+    private String content;
40
+
41
+    /**
42
+     * 流转状态      0:待分配  1:拒绝受理 2:待处理 3:正在处理 4:待评价 5:已评价 6:已终止
43
+     */
44
+    private String status;
45
+
46
+    /**
47
+     * 创建人
48
+     */
49
+    private Integer createUser;
50
+
51
+    /**
52
+     * 创建时间
53
+     */
54
+    private LocalDateTime createDate;
55
+
56
+
57
+}

+ 72
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpTicketRecordComment.java Wyświetl plik

@@ -0,0 +1,72 @@
1
+package com.community.huiju.model;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableName;
4
+import java.time.LocalDateTime;
5
+import java.io.Serializable;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ * 物业端工单追问表
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-02-14
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@TableName("tp_ticket_record_comment")
22
+public class TpTicketRecordComment implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 小区id
28
+     */
29
+    private Integer communityId;
30
+
31
+    /**
32
+     * 工单id
33
+     */
34
+    private Integer ticketId;
35
+
36
+    /**
37
+     * 工单记录id
38
+     */
39
+    private Integer ticketRecordId;
40
+
41
+    /**
42
+     * 追问人id(tp_user_id也就是物业用户)   或者是 发起人id(ta_user_id也就是住户app的id)
43
+     */
44
+    private Integer uuid;
45
+
46
+    /**
47
+     * 用户类型: 0:追问人  1:发起人
48
+     */
49
+    private String userType;
50
+
51
+    /**
52
+     * 追问内容或者回复内容
53
+     */
54
+    private String content;
55
+
56
+    /**
57
+     * 回复的是哪条记录的id。 0表示当前状态下的第一条追问记录
58
+     */
59
+    private Integer parentId;
60
+
61
+    /**
62
+     * 用户姓名
63
+     */
64
+    private String userName;
65
+
66
+    /**
67
+     * 创建时间
68
+     */
69
+    private LocalDateTime createDate;
70
+
71
+
72
+}

+ 23
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/TpTicketService.java Wyświetl plik

@@ -0,0 +1,23 @@
1
+package com.community.huiju.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.community.commom.mode.ResponseBean;
5
+import com.community.huiju.model.TpTicket;
6
+
7
+/**
8
+ * <p>
9
+ * 工单表 服务类
10
+ * </p>
11
+ *
12
+ * @author jobob
13
+ * @since 2019-02-14
14
+ */
15
+public interface TpTicketService extends IService<TpTicket> {
16
+
17
+    /**
18
+     * 工单列表
19
+     * @param parameter
20
+     * @return
21
+     */
22
+    ResponseBean ticketLiset(String parameter);
23
+}

+ 76
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TpTicketServiceImpl.java Wyświetl plik

@@ -0,0 +1,76 @@
1
+package com.community.huiju.service.impl;
2
+import com.alibaba.fastjson.JSONObject;
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
+import com.community.commom.mode.ResponseBean;
7
+import com.community.huiju.dao.TpTicketMapper;
8
+import com.community.huiju.dao.UserMapper;
9
+import com.community.huiju.model.TpBuildingOwnerInfo;
10
+import com.community.huiju.model.TpTicket;
11
+import com.community.huiju.model.User;
12
+import com.community.huiju.service.TpTicketService;
13
+import com.community.huiju.vo.TpTicketVO;
14
+import org.springframework.beans.BeanUtils;
15
+import org.springframework.beans.factory.annotation.Autowired;
16
+import org.springframework.stereotype.Service;
17
+
18
+import java.util.ArrayList;
19
+import java.util.HashMap;
20
+import java.util.List;
21
+import java.util.Map;
22
+
23
+/**
24
+ * <p>
25
+ * 工单表 服务实现类
26
+ * </p>
27
+ *
28
+ * @author jobob
29
+ * @since 2019-02-14
30
+ */
31
+@Service
32
+public class TpTicketServiceImpl extends ServiceImpl<TpTicketMapper, TpTicket> implements TpTicketService {
33
+
34
+    @Autowired
35
+    private  TpTicketMapper tpTicketMapper;
36
+
37
+    @Autowired
38
+    private UserMapper userMapper;
39
+    @Override
40
+    public ResponseBean ticketLiset(String parameter) {
41
+         ResponseBean response= new ResponseBean<>();
42
+        TpTicket   ticket= JSONObject.parseObject(parameter, TpTicket.class);
43
+
44
+        JSONObject object= JSONObject.parseObject(parameter);
45
+        Integer pageNum = object.getInteger("pageNum");
46
+        Integer pageSize = object.getInteger("pageSize");
47
+
48
+        Page<TpTicket> page = new Page<>();
49
+        page.setSize(pageSize == null ? 10 : pageSize);
50
+        page.setCurrent(pageNum == null ? 1 : pageNum);
51
+        IPage<TpTicket> pageInfo = tpTicketMapper.ticketList(page,ticket);
52
+        List<TpTicket> ticketList = pageInfo.getRecords();
53
+
54
+        List<TpTicket> tpTicketArrayList= new ArrayList<>();
55
+
56
+        for (TpTicket tpTicket:ticketList){
57
+            TpTicketVO tpTicketVO= new TpTicketVO();
58
+            BeanUtils.copyProperties(tpTicket, tpTicketVO);
59
+            /*查询当前受理人*/
60
+            String userName=userMapper.selectByIdUserName(tpTicket.getTpUserId());
61
+            tpTicketVO.setTpUserNmae(userName);
62
+
63
+            /*查询当前工单创建人*/
64
+            String createUserNmae=userMapper.selectByIdUserName(tpTicket.getCreateUser());
65
+            tpTicketVO.setCreateUserNmae(createUserNmae);
66
+            tpTicketArrayList.add(tpTicketVO);
67
+        }
68
+        HashMap map=new HashMap<>();
69
+        map.put("list",tpTicketArrayList);
70
+        map.put("total", pageInfo.getTotal());
71
+        map.put("pageNum", pageInfo.getCurrent());
72
+        map.put("pageSize", pageInfo.getSize());
73
+        response.addSuccess(map);
74
+        return response;
75
+    }
76
+}

+ 26
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/vo/TpTicketVO.java Wyświetl plik

@@ -0,0 +1,26 @@
1
+package com.community.huiju.vo;
2
+
3
+import com.community.huiju.model.TpTicket;
4
+import lombok.Data;
5
+
6
+/**
7
+ * version V1.0
8
+ * class_name: $METHOD_NAME$
9
+ * param: $METHOD_PARAM$
10
+ * describe: TODO
11
+ * creat_user:fannaixi
12
+ * creat_time: 2019/2/14
13
+ **/
14
+@Data
15
+public class TpTicketVO extends TpTicket {
16
+    /**
17
+     * 发起人
18
+     */
19
+    private String createUserNmae;
20
+
21
+    /**
22
+     * 受理人
23
+     */
24
+    private String tpUserNmae;
25
+
26
+}

+ 47
- 0
CODE/smart-community/property-api/src/main/resources/mapper/TpTicketMapper.xml Wyświetl plik

@@ -0,0 +1,47 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.community.huiju.dao.TpTicketMapper">
4
+    <select id="ticketList" resultType="com.community.huiju.model.TpTicket">
5
+    SELECT
6
+	id,
7
+	community_id,
8
+	ta_user_id,
9
+	ticket_title,
10
+	ticket_content,
11
+	STATUS,
12
+	type,
13
+	repair_type,
14
+	tp_user_id,
15
+	score,
16
+	COMMENT,
17
+	create_user,
18
+	create_date,
19
+	update_user,
20
+	update_date
21
+FROM
22
+tp_ticket
23
+<where>
24
+    <if test="ticket.id != null and ticket.id !=''">
25
+        and  id=#{ticket.id,jdbcType=INTEGER}
26
+    </if>
27
+    <if test="ticket.type != null and ticket.type !=''">
28
+        and type like concat('%',#{ticket.type,jdbcType=VARCHAR},'%')
29
+    </if>
30
+    <if test="ticket.ticketTitle != null and ticket.ticketTitle !=''">
31
+        and ticket_title like concat('%',#{ticket.ticketTitle,jdbcType=VARCHAR},'%')
32
+    </if>
33
+    <if test="ticket.createUser != null and ticket.createUser !=''">
34
+        and create_user like concat('%',#{ticket.createUser,jdbcType=VARCHAR},'%')
35
+    </if>
36
+    <if test="ticket.status != null and ticket.status !=''">
37
+        and  status=#{ticket.status,jdbcType=INTEGER}
38
+    </if>
39
+    <if test="ticket.tpUserId != null and ticket.tpUserId !=''">
40
+        and  tp_user_id=#{ticket.tpUserId,jdbcType=INTEGER}
41
+    </if>
42
+</where>
43
+        order by  create_date desc
44
+
45
+    </select>
46
+
47
+</mapper>

+ 5
- 0
CODE/smart-community/property-api/src/main/resources/mapper/TpTicketRecordCommentMapper.xml Wyświetl plik

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.community.huiju.dao.TpTicketRecordCommentMapper">
4
+
5
+</mapper>

+ 5
- 0
CODE/smart-community/property-api/src/main/resources/mapper/TpTicketRecordMapper.xml Wyświetl plik

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.community.huiju.tp.mapper.TpTicketRecordMapper">
4
+
5
+</mapper>