java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeAuditUserConstant.java
@@ -39,6 +39,11 @@ public static final String LIST_AUDIT_HISTORY_ORDERS = "auditUser.listAuditHistoryOrders"; /** * 查询 审核历史订单 */ public static final String LIST_ITEM_OUT_AUDIT_HISTORY_ORDERS = "auditUser.listItemOutAuditHistoryOrders"; /** * 查询 审核投诉 */ public static final String LIST_AUDIT_COMPLAINTS = "auditUser.listAuditComplaints"; service-api/src/main/java/com/java110/api/listener/auditOrder/ListItemOutAuditHistoryOrdersListener.java
New file @@ -0,0 +1,113 @@ 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.event.service.api.ServiceDataFlowEvent; import com.java110.dto.purchaseApply.PurchaseApplyDto; import com.java110.entity.audit.AuditUser; import com.java110.intf.common.IGoodCollectionUserInnerServiceSMO; import com.java110.intf.common.IResourceEntryStoreInnerServiceSMO; import com.java110.utils.constant.ServiceCodeAuditUserConstant; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.vo.api.resourceOrder.ApiResourceOrderDataVo; import com.java110.vo.api.resourceOrder.ApiResourceOrderVo; 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("listItemOutAuditHistoryOrdersListener") public class ListItemOutAuditHistoryOrdersListener extends AbstractServiceApiListener { @Autowired private IGoodCollectionUserInnerServiceSMO goodCollectionUserInnerServiceSMOImpl; @Override public String getServiceCode() { return ServiceCodeAuditUserConstant.LIST_ITEM_OUT_AUDIT_HISTORY_ORDERS; } @Override public HttpMethod getHttpMethod() { return HttpMethod.GET; } @Override public int getOrder() { return DEFAULT_ORDER; } @Override protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "storeId", "必填,请填写商户ID"); Assert.hasKeyAndValue(reqJson, "userId", "必填,请填写用户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.setPage(reqJson.getInteger("page")); auditUser.setRow(reqJson.getInteger("row")); auditUser.setStoreId(reqJson.getString("storeId")); long count = goodCollectionUserInnerServiceSMOImpl.getUserHistoryTaskCount(auditUser); List<ApiResourceOrderDataVo> auditOrders = null; if (count > 0) { List<PurchaseApplyDto> purchaseApplyDtos = goodCollectionUserInnerServiceSMOImpl.getUserHistoryTasks(auditUser); auditOrders = BeanConvertUtil.covertBeanList(purchaseApplyDtos, ApiResourceOrderDataVo.class); for (ApiResourceOrderDataVo apiResourceOrderDataVo : auditOrders) { switch (apiResourceOrderDataVo.getState()) { case "1000": apiResourceOrderDataVo.setStateName("待审核"); break; case "1001": apiResourceOrderDataVo.setStateName("审核中"); break; case "1002": apiResourceOrderDataVo.setStateName("已审核"); break; } if (apiResourceOrderDataVo.getResOrderType().equals("10000")) { apiResourceOrderDataVo.setResOrderTypeName("采购申请"); } else { apiResourceOrderDataVo.setResOrderTypeName("出库申请"); } } } else { auditOrders = new ArrayList<>(); } ApiResourceOrderVo apiResourceOrderVo = new ApiResourceOrderVo(); apiResourceOrderVo.setTotal((int) count); apiResourceOrderVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row"))); apiResourceOrderVo.setResourceOrders(auditOrders); ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiResourceOrderVo), HttpStatus.OK); context.setResponseEntity(responseEntity); } } service-common/src/main/java/com/java110/common/smo/impl/GoodCollectionUserInnerServiceSMOImpl.java
@@ -224,9 +224,9 @@ .processDefinitionKey(getWorkflowDto(user.getStoreId())) .taskAssignee(user.getUserId()); if (!StringUtil.isEmpty(user.getAuditLink()) && "START".equals(user.getAuditLink())) { historicTaskInstanceQuery.taskName("resourceEnter"); historicTaskInstanceQuery.taskName("complaint"); } else if (!StringUtil.isEmpty(user.getAuditLink()) && "AUDIT".equals(user.getAuditLink())) { historicTaskInstanceQuery.taskName("resourceEnterDealUser"); historicTaskInstanceQuery.taskName("complaitDealUser"); } Query query = historicTaskInstanceQuery; @@ -242,13 +242,13 @@ HistoryService historyService = processEngine.getHistoryService(); HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() .processDefinitionKey("resourceEnter") .processDefinitionKey(getWorkflowDto(user.getStoreId())) .taskAssignee(user.getUserId()); if (!StringUtil.isEmpty(user.getAuditLink()) && "START".equals(user.getAuditLink())) { historicTaskInstanceQuery.taskName("resourceEnter"); } else if (!StringUtil.isEmpty(user.getAuditLink()) && "AUDIT".equals(user.getAuditLink())) { historicTaskInstanceQuery.taskName("resourceEnterDealUser"); } // if (!StringUtil.isEmpty(user.getAuditLink()) && "START".equals(user.getAuditLink())) { // historicTaskInstanceQuery.taskName("complaint"); // } else if (!StringUtil.isEmpty(user.getAuditLink()) && "AUDIT".equals(user.getAuditLink())) { // historicTaskInstanceQuery.taskName("complaitDealUser"); // } Query query = historicTaskInstanceQuery.orderByHistoricTaskInstanceStartTime().desc(); @@ -259,23 +259,29 @@ list = query.list(); } List<String> complaintIds = new ArrayList<>(); List<String> applyOrderIds = new ArrayList<>(); Map<String, String> taskBusinessKeyMap = new HashMap<>(); for (HistoricTaskInstance task : list) { String processInstanceId = task.getProcessInstanceId(); //3.使用流程实例,查询 HistoricProcessInstance pi = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); //4.使用流程实例对象获取BusinessKey String business_key = pi.getBusinessKey(); complaintIds.add(business_key); applyOrderIds.add(business_key); taskBusinessKeyMap.put(business_key, task.getId()); } //查询 投诉信息 // ComplaintDto complaintDto = new ComplaintDto(); // complaintDto.setStoreId(user.getStoreId()); // complaintDto.setCommunityId(user.getCommunityId()); // complaintDto.setComplaintIds(complaintIds.toArray(new String[complaintIds.size()])); // List<ComplaintDto> tmpComplaintDtos = complaintInnerServiceSMOImpl.queryComplaints(complaintDto); return null; PurchaseApplyDto purchaseApplyDto = new PurchaseApplyDto(); purchaseApplyDto.setStoreId(user.getStoreId()); purchaseApplyDto.setApplyOrderIds(applyOrderIds.toArray(new String[applyOrderIds.size()])); List<PurchaseApplyDto> tmpPurchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplyAndDetails(purchaseApplyDto); for (PurchaseApplyDto tmpPurchaseApplyDto : tmpPurchaseApplyDtos) { tmpPurchaseApplyDto.setTaskId(taskBusinessKeyMap.get(tmpPurchaseApplyDto.getApplyOrderId())); } return tmpPurchaseApplyDtos; }