wuxw
2019-11-05 7d0f7a98d916430236f12ac8267bff8393cd0718
加入历史审核单
4个文件已修改
7个文件已添加
462 ■■■■■ 已修改文件
Api/src/main/java/com/java110/api/listener/auditOrder/ListAuditHistoryComplaintsListener.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/java/com/java110/web/components/auditUser/MyAuditHistoryComplaintsComponent.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/java/com/java110/web/smo/auditUser/IListAuditHistoryComplaintsSMO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/java/com/java110/web/smo/auditUser/impl/ListAuditHistoryComplaintsSMOImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/auditPackage/myAuditHistoryComplaint/myAuditHistoryComplaints.html 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/auditPackage/myAuditHistoryComplaint/myAuditHistoryComplaints.js 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/views/myAuditHistoryComplaintsFlow.html 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-core/src/main/java/com/java110/core/smo/complaintUser/IComplaintUserInnerServiceSMO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-utils/src/main/java/com/java110/utils/constant/PrivilegeCodeConstant.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeAuditUserConstant.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/auditOrder/ListAuditHistoryComplaintsListener.java
New file
@@ -0,0 +1,100 @@
package com.java110.api.listener.auditOrder;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.listener.AbstractServiceApiListener;
import com.java110.core.annotation.Java110Listener;
import com.java110.core.context.DataFlowContext;
import com.java110.core.smo.complaintUser.IComplaintUserInnerServiceSMO;
import com.java110.entity.audit.AuditUser;
import com.java110.event.service.api.ServiceDataFlowEvent;
import com.java110.utils.constant.ServiceCodeAuditUserConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.api.complaint.ApiComplaintDataVo;
import com.java110.vo.api.complaint.ApiComplaintVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.util.ArrayList;
import java.util.List;
/**
 * 查询审核订单侦听类
 */
@Java110Listener("listAuditHistoryComplaintsListener")
public class ListAuditHistoryComplaintsListener extends AbstractServiceApiListener {
    @Autowired
    private IComplaintUserInnerServiceSMO complaintUserInnerServiceSMOImpl;
    @Override
    public String getServiceCode() {
        return ServiceCodeAuditUserConstant.LIST_AUDIT_HISTORY_COMPLAINTS;
    }
    @Override
    public HttpMethod getHttpMethod() {
        return HttpMethod.GET;
    }
    @Override
    public int getOrder() {
        return DEFAULT_ORDER;
    }
    public IComplaintUserInnerServiceSMO getComplaintUserInnerServiceSMOImpl() {
        return complaintUserInnerServiceSMOImpl;
    }
    public void setComplaintUserInnerServiceSMOImpl(IComplaintUserInnerServiceSMO complaintUserInnerServiceSMOImpl) {
        this.complaintUserInnerServiceSMOImpl = complaintUserInnerServiceSMOImpl;
    }
    @Override
    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "storeId", "必填,请填写商户ID");
        Assert.hasKeyAndValue(reqJson, "userId", "必填,请填写用户ID");
        Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区ID");
        Assert.hasKeyAndValue(reqJson, "row", "必填,请填写每页显示数");
        Assert.hasKeyAndValue(reqJson, "page", "必填,请填写页数");
        super.validatePageInfo(reqJson);
    }
    @Override
    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
        AuditUser auditUser = new AuditUser();
        auditUser.setUserId(reqJson.getString("userId"));
        auditUser.setStoreId(reqJson.getString("storeId"));
        auditUser.setCommunityId(reqJson.getString("communityId"));
        auditUser.setPage(reqJson.getInteger("page"));
        auditUser.setRow(reqJson.getInteger("row"));
        long count = complaintUserInnerServiceSMOImpl.getUserHistoryTaskCount(auditUser);
        List<ApiComplaintDataVo> auditComplaints = null;
        if (count > 0) {
            auditComplaints = BeanConvertUtil.covertBeanList(complaintUserInnerServiceSMOImpl.getUserHistoryTasks(auditUser), ApiComplaintDataVo.class);
        } else {
            auditComplaints = new ArrayList<>();
        }
        ApiComplaintVo apiComplaintVo = new ApiComplaintVo();
        apiComplaintVo.setTotal((int) count);
        apiComplaintVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
        apiComplaintVo.setComplaints(auditComplaints);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiComplaintVo), HttpStatus.OK);
        context.setResponseEntity(responseEntity);
    }
}
CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java
@@ -10,10 +10,15 @@
import com.java110.dto.complaint.ComplaintDto;
import com.java110.entity.audit.AuditUser;
import com.java110.utils.util.Assert;
import org.activiti.engine.HistoryService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.impl.identity.Authentication;
import org.activiti.engine.query.Query;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Comment;
import org.activiti.engine.task.Task;
@@ -147,18 +152,34 @@
        return tmpComplaintDtos;
    }
    /**
     * 查询用户任务数
     *
     * @param user
     * @return
     */
    public long getUserHistoryTaskCount(@RequestBody AuditUser user) {
        HistoryService historyService = processEngine.getHistoryService();
        Query query = historyService.createHistoricTaskInstanceQuery()
                .processDefinitionKey("complaint")
                .taskAssignee(user.getUserId());
        return query.count();
    }
    /**
     * 获取用户审批的任务
     *
     * @param user 用户信息
     */
    public List<ComplaintDto> getUserHistoryTasks(@RequestBody AuditUser user) {
        TaskService taskService = processEngine.getTaskService();
        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("complaint");
        ;
        query.taskAssignee(user.getUserId());
        query.orderByTaskCreateTime().desc();
        List<Task> list = null;
        HistoryService historyService = processEngine.getHistoryService();
        Query query = historyService.createHistoricTaskInstanceQuery()
                                                .processDefinitionKey("complaint")
                                                .taskAssignee(user.getUserId())
                                                .orderByHistoricTaskInstanceStartTime()
                                                .desc();
        List<HistoricTaskInstance> list = null;
        if (user.getPage() != PageDto.DEFAULT_PAGE) {
            list = query.listPage(user.getPage(), user.getRow());
        } else {
@@ -166,7 +187,7 @@
        }
        List<String> complaintIds = new ArrayList<>();
        for (Task task : list) {
        for (HistoricTaskInstance task : list) {
            String processInstanceId = task.getProcessInstanceId();
            //3.使用流程实例,查询
            ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
WebService/src/main/java/com/java110/web/components/auditUser/MyAuditHistoryComplaintsComponent.java
New file
@@ -0,0 +1,46 @@
package com.java110.web.components.auditUser;
import com.java110.core.context.IPageData;
import com.java110.web.smo.auditUser.IListAuditComplaintsSMO;
import com.java110.web.smo.auditUser.IListAuditHistoryComplaintsSMO;
import com.java110.web.smo.complaint.IAuditComplaintSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
/**
 * 我的审核单查询
 * <p>
 * add by wuxw
 * <p>
 * 2019-06-29
 */
@Component("myAuditHistoryComplaints")
public class MyAuditHistoryComplaintsComponent {
    @Autowired
    private IListAuditHistoryComplaintsSMO listAuditHistoryComplaintsSMOImpl;
    /**
     * 查询审核人员列表
     *
     * @param pd 页面数据封装
     * @return 返回 ResponseEntity 对象
     */
    public ResponseEntity<String> list(IPageData pd) {
        return listAuditHistoryComplaintsSMOImpl.listAuditHistoryComplaints(pd);
    }
    public IListAuditHistoryComplaintsSMO getListAuditHistoryComplaintsSMOImpl() {
        return listAuditHistoryComplaintsSMOImpl;
    }
    public void setListAuditHistoryComplaintsSMOImpl(IListAuditHistoryComplaintsSMO listAuditHistoryComplaintsSMOImpl) {
        this.listAuditHistoryComplaintsSMOImpl = listAuditHistoryComplaintsSMOImpl;
    }
}
WebService/src/main/java/com/java110/web/smo/auditUser/IListAuditHistoryComplaintsSMO.java
New file
@@ -0,0 +1,17 @@
package com.java110.web.smo.auditUser;
import com.java110.core.context.IPageData;
import org.springframework.http.ResponseEntity;
/**
 * 查询审核单
 */
public interface IListAuditHistoryComplaintsSMO {
    /**
     * 查询审核订单
     * @param pd
     * @return
     */
    public ResponseEntity<String> listAuditHistoryComplaints(IPageData pd);
}
WebService/src/main/java/com/java110/web/smo/auditUser/impl/ListAuditHistoryComplaintsSMOImpl.java
New file
@@ -0,0 +1,67 @@
package com.java110.web.smo.auditUser.impl;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.component.AbstractComponentSMO;
import com.java110.core.context.IPageData;
import com.java110.entity.component.ComponentValidateResult;
import com.java110.utils.constant.PrivilegeCodeConstant;
import com.java110.utils.constant.ServiceConstant;
import com.java110.utils.exception.SMOException;
import com.java110.utils.util.Assert;
import com.java110.web.smo.auditUser.IListAuditHistoryComplaintsSMO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
/**
 * 查询auditUser服务类
 */
@Service("listAuditHistoryComplaintsSMOImpl")
public class ListAuditHistoryComplaintsSMOImpl extends AbstractComponentSMO implements IListAuditHistoryComplaintsSMO {
    @Autowired
    private RestTemplate restTemplate;
    @Override
    public ResponseEntity<String> listAuditHistoryComplaints(IPageData pd) throws SMOException {
        return businessProcess(pd);
    }
    @Override
    protected void validate(IPageData pd, JSONObject paramIn) {
        super.validatePageInfo(pd);
        Assert.hasKeyAndValue(paramIn, "communityId", "必填,请填写小区信息");
        super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.AGENT_HAS_LIST_AUDIT_HISTORY_COMPLAINT);
    }
    @Override
    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
        ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate);
        paramIn.put("storeId", result.getStoreId());
        paramIn.put("userId", result.getUserId());
        String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/auditUser.listAuditHistoryComplaints" + mapToUrlParam(paramIn);
        ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, "",
                apiUrl,
                HttpMethod.GET);
        return responseEntity;
    }
    public RestTemplate getRestTemplate() {
        return restTemplate;
    }
    public void setRestTemplate(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }
}
WebService/src/main/resources/components/auditPackage/myAuditHistoryComplaint/myAuditHistoryComplaints.html
New file
@@ -0,0 +1,61 @@
<div class="wrapper wrapper-content animated fadeInRight ecommerce">
    <div class="row">
        <div class="col-lg-12">
            <div class="ibox">
                <div class="ibox-title">
                    <h5>投诉历史单</h5>
                    <div class="ibox-tools" style="top:10px;">
                    </div>
                </div>
                <div class="ibox-content">
                    <table class="footable table table-stripped toggle-arrow-tiny"
                           data-page-size="15"
                    >
                        <thead>
                        <tr>
                            <th class="text-center">投诉ID</th>
                            <th class="text-center">投诉类型</th>
                            <th class="text-center">房屋</th>
                            <th class="text-center">投诉人</th>
                            <th class="text-center">投诉电话</th>
                            <th class="text-center">投诉状态</th>
                           <!-- <th class="text-center">操作</th>-->
                        </tr>
                        </thead>
                        <tbody>
                        <tr v-for="complaint in myAuditHistoryComplaintsInfo.complaints">
                            <td class="text-center">{{complaint.complaintId}}</td>
                            <td class="text-center">{{complaint.typeCdName}}</td>
                            <td class="text-center">
                                {{complaint.floorNum}}号楼{{complaint.unitNum}}单元{{complaint.roomNum}}室
                            </td>
                            <td class="text-center">{{complaint.complaintName}}</td>
                            <td class="text-center">{{complaint.tel}}</td>
                            <td class="text-center">{{complaint.stateName}}</td>
                            <!--<td class="text-center">
                                <div class="btn-group">
                                    <button class="btn-white btn btn-xs"
                                            v-on:click="_openAuditComplaintModel(complaint)">审核
                                    </button>
                                </div>
                            </td>-->
                        </tr>
                        </tbody>
                        <tfoot>
                        <tr>
                            <td colspan="7">
                                <ul class="pagination float-right"></ul>
                            </td>
                        </tr>
                        </tfoot>
                    </table>
                    <!-- 分页 -->
                    <vc:create name="pagination"></vc:create>
                </div>
            </div>
        </div>
    </div>
</div>
WebService/src/main/resources/components/auditPackage/myAuditHistoryComplaint/myAuditHistoryComplaints.js
New file
@@ -0,0 +1,78 @@
/**
 入驻小区
 **/
(function (vc) {
    var DEFAULT_PAGE = 1;
    var DEFAULT_ROWS = 10;
    vc.extends({
        data: {
            myAuditHistoryComplaintsInfo: {
                complaints: [],
                total: 0,
                records: 1,
                moreCondition: false,
                currentTaskId: '',
                currentComplaintId: '',
                userName: '',
                conditions: {
                    AuditOrdersId: '',
                    userName: '',
                    auditLink: '',
                }
            }
        },
        _initMethod: function () {
            vc.component._listAuditOrders(DEFAULT_PAGE, DEFAULT_ROWS);
        },
        _initEvent: function () {
            vc.on('myAuditComplaints', 'auditMessage', function (_auditInfo) {
                vc.component._auditComplaintInfo(_auditInfo);
            });
            vc.on('pagination', 'page_event', function (_currentPage) {
                vc.component._listAuditOrders(_currentPage, DEFAULT_ROWS);
            });
        },
        methods: {
            _listAuditOrders: function (_page, _rows) {
                vc.component.myAuditHistoryComplaintsInfo.conditions.page = _page;
                vc.component.myAuditHistoryComplaintsInfo.conditions.row = _rows;
                vc.component.myAuditHistoryComplaintsInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
                var param = {
                    params: vc.component.myAuditHistoryComplaintsInfo.conditions
                };
                //发送get请求
                vc.http.get('myAuditHistoryComplaints',
                    'list',
                    param,
                    function (json, res) {
                        var _myAuditHistoryComplaintsInfo = JSON.parse(json);
                        vc.component.myAuditHistoryComplaintsInfo.total = _myAuditHistoryComplaintsInfo.total;
                        vc.component.myAuditHistoryComplaintsInfo.records = _myAuditHistoryComplaintsInfo.records;
                        vc.component.myAuditHistoryComplaintsInfo.complaints = _myAuditHistoryComplaintsInfo.complaints;
                        vc.emit('pagination', 'init', {
                            total: vc.component.myAuditHistoryComplaintsInfo.records,
                            currentPage: _page
                        });
                    }, function (errInfo, error) {
                        console.log('请求失败处理');
                    }
                );
            },
            _queryAuditOrdersMethod: function () {
                vc.component._listAuditOrders(DEFAULT_PAGE, DEFAULT_ROWS);
            },
            _moreCondition: function () {
                if (vc.component.AuditOrdersManageInfo.moreCondition) {
                    vc.component.AuditOrdersManageInfo.moreCondition = false;
                } else {
                    vc.component.AuditOrdersManageInfo.moreCondition = true;
                }
            }
        }
    });
})(window.vc);
WebService/src/main/resources/views/myAuditHistoryComplaintsFlow.html
New file
@@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en"
      xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org"
      xmlns:vc="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <title>投诉历史单|java110</title>
    <vc:create name="commonTop"></vc:create>
</head>
<body>
<vc:create name="bodyTop"></vc:create>
<div id="wrapper">
    <vc:create name="menu"></vc:create>
    <div id="page-wrapper" class="gray-bg dashbard-1">
        <div class="row border-bottom">
            <vc:create name="nav"></vc:create>
        </div>
        <div class="wrapper wrapper-content" style="padding-bottom: 0px;">
            <vc:create name="breadcrumb"></vc:create>
        </div>
        <!-- id="component" -->
        <div id="component" class="wrapper wrapper-content animated fadeInRight">
            <vc:create name="myAuditHistoryComplaints"></vc:create>
        </div>
        <vc:create name="copyright"></vc:create>
    </div>
</div>
<vc:create name="commonBottom"></vc:create>
</body>
</html>
java110-core/src/main/java/com/java110/core/smo/complaintUser/IComplaintUserInnerServiceSMO.java
@@ -40,6 +40,22 @@
    @RequestMapping(value = "/getUserTasks", method = RequestMethod.POST)
    public List<ComplaintDto> getUserTasks(@RequestBody AuditUser user);
    /**
     * 查询用户处理任务数
     *
     * @param user
     * @return
     */
    @RequestMapping(value = "/getUserHistoryTaskCount", method = RequestMethod.POST)
    public long getUserHistoryTaskCount(@RequestBody AuditUser user);
    /**
     * 获取用户处理审批的任务
     *
     * @param user 用户信息
     */
    @RequestMapping(value = "/getUserHistoryTasks", method = RequestMethod.POST)
    public List<ComplaintDto> getUserHistoryTasks(@RequestBody AuditUser user);
    /**
     * 处理任务
java110-utils/src/main/java/com/java110/utils/constant/PrivilegeCodeConstant.java
@@ -132,6 +132,7 @@
    //审核工单
    public static final String AGENT_HAS_LIST_AUDIT_COMPLAINT = "502019110360380006";
    public static final String AGENT_HAS_LIST_AUDIT_HISTORY_COMPLAINT = "502019110534240006";
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeAuditUserConstant.java
@@ -38,5 +38,10 @@
     */
    public static final String LIST_AUDIT_COMPLAINTS = "auditUser.listAuditComplaints";
    /**
     * 查询 历史审核投诉
     */
    public static final String LIST_AUDIT_HISTORY_COMPLAINTS = "auditUser.listAuditHistoryComplaints";
}