java110-bean/src/main/java/com/java110/dto/purchaseApply/PurchaseApplyDto.java
@@ -21,6 +21,7 @@ public static final String RES_ORDER_TYPE_OUT = "20000"; //出库 public static final String STATE_WAIT_DEAL = "1000"; // 等待处理 public static final String STATE_DEALING = "1001"; // 审核中 private String resOrderType; private String description; java110-bean/src/main/java/com/java110/vo/api/resourceOrder/ApiResourceOrderDataVo.java
@@ -1,7 +1,6 @@ package com.java110.vo.api.resourceOrder; import java.io.Serializable; import java.util.Date; public class ApiResourceOrderDataVo implements Serializable { @@ -9,6 +8,9 @@ private String processInstanceId; private String taskId; private String userId; private String userName; //订单ID @@ -118,4 +120,20 @@ public void setStateName(String stateName) { this.stateName = stateName; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } } java110-db/src/main/resources/mapper/center/CenterServiceDAOImplMapper.xml
@@ -71,7 +71,7 @@ <update id="updateOrderItem" parameterType="Map"> update c_order_item t set t.finish_time = #{finishTime}, t.status_cd = #{statusCd} t.status_cd = #{statusCd} where t.o_id = #{oId} <if test="bId !=null and bId != ''"> and t.b_id = #{bId} @@ -85,7 +85,6 @@ and t.b_id = #{bId} </if> </update> <!-- 保存订单项信息 c_business --> @@ -119,14 +118,11 @@ </update> <!-- 更新订单项信息(一般就更新订单项状态)--> <update id="updateBusiness" parameterType="Map"> <![CDATA[ update c_business cb set cb.status_cd=#{statusCd}, cb.finish_time=#{finishTime} where cb.o_id=#{oId} ]]> update c_business cb set cb.status_cd=#{statusCd}, cb.finish_time=#{finishTime} where cb.o_id=#{oId} </update> <!--根据bId 修改业务项信息--> <update id="updateBusinessByBId" parameterType="Map"> java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
@@ -191,7 +191,8 @@ t.end_user_name, t.end_user_tel, t.end_user_name endUserName, t.end_user_tel endUserTel t.end_user_tel endUserTel, t.description from purchase_apply t inner join t_dict d on t.state = d.status_cd and d.table_name = 'purchase_apply' and d.table_columns = 'state' where 1 =1 @@ -203,6 +204,14 @@ </if> <if test="applyOrderId !=null and applyOrderId != ''"> and t.apply_order_id= #{applyOrderId} </if> <if test="applyOrderIds !=null "> and t.apply_order_id in <foreach open="(" close=")" separator="," collection="applyOrderIds" item="item"> #{item} </foreach> </if> <if test="userName !=null and userName != ''"> and t.user_name like concat('%',#{userName},'%') @@ -292,8 +301,9 @@ r.res_name resName,r.res_code resCode, r.price,r.stock from purchase_apply_detail p inner join resource_store r on p.res_id = r.res_id purchase_apply_detail p inner join resource_store r on p.res_id = r.res_id and r.status_cd = '0' where 1=1 and p.status_cd = '0' <if test="applyOrderIds !=null"> and p.apply_order_id in <foreach collection="applyOrderIds" item="item" open="(" close=")" separator=","> service-api/src/main/java/com/java110/api/listener/auditOrder/ListAuditOrdersListener.java
@@ -73,6 +73,7 @@ auditUser.setUserId(reqJson.getString("userId")); auditUser.setPage(reqJson.getInteger("page")); auditUser.setRow(reqJson.getInteger("row")); auditUser.setStoreId(reqJson.getString("storeId")); long count = resourceEntryStoreInnerServiceSMOImpl.getUserTaskCount(auditUser); service-api/src/main/java/com/java110/api/listener/purchaseApply/AuditApplyOrderListener.java
@@ -5,11 +5,10 @@ import com.java110.api.listener.AbstractServiceApiPlusListener; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.intf.store.IPurchaseApplyInnerServiceSMO; import com.java110.intf.common.IPurchaseApplyUserInnerServiceSMO; import com.java110.dto.complaint.ComplaintDto; import com.java110.dto.purchaseApply.PurchaseApplyDto; import com.java110.core.event.service.api.ServiceDataFlowEvent; import com.java110.dto.purchaseApply.PurchaseApplyDto; import com.java110.intf.common.IPurchaseApplyUserInnerServiceSMO; import com.java110.intf.store.IPurchaseApplyInnerServiceSMO; import com.java110.po.purchase.PurchaseApplyPo; import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.constant.ServiceCodePurchaseApplyConstant; @@ -74,6 +73,13 @@ purchaseApplyDto.setAuditMessage(reqJson.getString("remark")); purchaseApplyDto.setCurrentUserId(reqJson.getString("userId")); PurchaseApplyDto tmpPurchaseApplyDto = new PurchaseApplyDto(); tmpPurchaseApplyDto.setApplyOrderId(reqJson.getString("applyOrderId")); tmpPurchaseApplyDto.setStoreId(reqJson.getString("storeId")); List<PurchaseApplyDto> purchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplys(tmpPurchaseApplyDto); Assert.listOnlyOne(purchaseApplyDtos, "采购申请单存在多条"); purchaseApplyDto.setStartUserId(purchaseApplyDtos.get(0).getUserId()); boolean isLastTask = purchaseApplyUserInnerServiceSMOImpl.completeTask(purchaseApplyDto); ResponseEntity<String> responseEntity = new ResponseEntity<String>("成功", HttpStatus.OK); if (isLastTask) { @@ -90,14 +96,13 @@ */ private void updatePurchaseApply(JSONObject paramInJson, DataFlowContext dataFlowContext) { ComplaintDto complaintDto = new ComplaintDto(); complaintDto.setStoreId(paramInJson.getString("storeId")); complaintDto.setCommunityId(paramInJson.getString("communityId")); complaintDto.setComplaintId(paramInJson.getString("complaintId")); PurchaseApplyDto purchaseApplyDto = new PurchaseApplyDto(); purchaseApplyDto.setStoreId(paramInJson.getString("storeId")); purchaseApplyDto.setApplyOrderId(paramInJson.getString("applyOrderId")); List<PurchaseApplyDto> purchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplys(purchaseApplyDto); Assert.listOnlyOne(purchaseApplyDtos, "存在多条记录,或不存在数据" + complaintDto.getComplaintId()); Assert.listOnlyOne(purchaseApplyDtos, "存在多条记录,或不存在数据" + purchaseApplyDto.getApplyOrderId()); JSONObject businessComplaint = new JSONObject(); businessComplaint.putAll(BeanConvertUtil.beanCovertMap(purchaseApplyDtos.get(0))); service-common/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java
@@ -78,6 +78,7 @@ variables.put("purchaseApplyDto", purchaseApplyDto); variables.put("nextAuditStaffId", purchaseApplyDto.getStaffId()); variables.put("userId", purchaseApplyDto.getCurrentUserId()); variables.put("startUserId", purchaseApplyDto.getCurrentUserId()); //开启流程 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(getWorkflowDto(purchaseApplyDto.getStoreId()), purchaseApplyDto.getApplyOrderId(), variables); // //将得到的实例流程id值赋给之前设置的变量 @@ -137,7 +138,7 @@ */ public long getUserTaskCount(@RequestBody AuditUser user) { TaskService taskService = processEngine.getTaskService(); TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEnter"); TaskQuery query = taskService.createTaskQuery().processDefinitionKey(getWorkflowDto(user.getStoreId())); query.taskAssignee(user.getUserId()); return query.count(); } @@ -149,7 +150,7 @@ */ public List<PurchaseApplyDto> getUserTasks(@RequestBody AuditUser user) { TaskService taskService = processEngine.getTaskService(); TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEnter"); TaskQuery query = taskService.createTaskQuery().processDefinitionKey(getWorkflowDto(user.getStoreId())); ; query.taskAssignee(user.getUserId()); query.orderByTaskCreateTime().desc(); @@ -206,7 +207,7 @@ // .taskAssignee(user.getUserId()); 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"); @@ -275,11 +276,7 @@ variables.put("currentUserId", purchaseApplyDto.getCurrentUserId()); variables.put("flag", "1200".equals(purchaseApplyDto.getAuditCode()) ? "false" : "true"); variables.put("startUserId", purchaseApplyDto.getStartUserId()); //taskService.setAssignee(complaintDto.getTaskId(),complaintDto.getCurrentUserId()); //taskService.addCandidateUser(complaintDto.getTaskId(), complaintDto.getCurrentUserId()); //taskService.claim(complaintDto.getTaskId(), complaintDto.getCurrentUserId()); taskService.complete(purchaseApplyDto.getTaskId(), variables); //taskService.setVariable(purchaseApplyDto.getTaskId(), "purchaseApplyDto", purchaseApplyDto); ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); if (pi == null) { service-common/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java
@@ -2,12 +2,16 @@ import com.java110.core.base.smo.BaseServiceSMO; import com.java110.dto.workflow.WorkflowDto; import com.java110.intf.common.IResourceEntryStoreInnerServiceSMO; import com.java110.intf.common.IWorkflowInnerServiceSMO; import com.java110.intf.store.IPurchaseApplyInnerServiceSMO; import com.java110.dto.PageDto; import com.java110.dto.purchaseApply.PurchaseApplyDto; import com.java110.dto.resourceStore.ResourceOrderDto; import com.java110.entity.audit.AuditUser; import com.java110.utils.util.Assert; import com.java110.utils.util.StringUtil; import org.activiti.engine.ProcessEngine; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; @@ -39,6 +43,9 @@ @Autowired private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl; @Autowired private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl; /** * 启动流程 @@ -49,8 +56,9 @@ //将信息加入map,以便传入流程中 Map<String, Object> variables = new HashMap<String, Object>(); variables.put("resourceOrderDto", resourceOrderDto); //开启流程 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("resourceEntry", variables); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(getWorkflowDto(resourceOrderDto.getStoreId()), variables); //将得到的实例流程id值赋给之前设置的变量 String processInstanceId = processInstance.getId(); // System.out.println("流程开启成功.......实例流程id:" + processInstanceId); @@ -68,7 +76,7 @@ */ public long getUserTaskCount(@RequestBody AuditUser user) { TaskService taskService = processEngine.getTaskService(); TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEntry"); TaskQuery query = taskService.createTaskQuery().processDefinitionKey(getWorkflowDto(user.getStoreId())); query.taskAssignee(user.getUserId()); return query.count(); } @@ -80,7 +88,7 @@ */ public List<PurchaseApplyDto> getUserTasks(@RequestBody AuditUser user) { TaskService taskService = processEngine.getTaskService(); TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEntry"); TaskQuery query = taskService.createTaskQuery().processDefinitionKey(getWorkflowDto(user.getStoreId())); query.taskAssignee(user.getUserId()); query.orderByTaskCreateTime().desc(); List<Task> list = null; @@ -159,8 +167,28 @@ TaskService taskService = processEngine.getTaskService(); taskService.complete(resourceOrderDto.getTaskId()); return true; } private String getWorkflowDto(String storeId) { //开启流程 //WorkflowDto.DEFAULT_PROCESS + workflowDto.getFlowId() WorkflowDto workflowDto = new WorkflowDto(); workflowDto.setFlowType(WorkflowDto.FLOW_TYPE_PURCHASE); workflowDto.setStoreId(storeId); List<WorkflowDto> workflowDtos = workflowInnerServiceSMOImpl.queryWorkflows(workflowDto); Assert.listOnlyOne(workflowDtos, "未找到 投诉建议流程或找到多条"); WorkflowDto tmpWorkflowDto = workflowDtos.get(0); if (StringUtil.isEmpty(tmpWorkflowDto.getProcessDefinitionKey())) { throw new IllegalArgumentException("流程还未部署"); } return WorkflowDto.DEFAULT_PROCESS + tmpWorkflowDto.getFlowId(); } } service-order/src/main/java/com/java110/order/smo/impl/AbstractOrderServiceSMOImpl.java
@@ -361,7 +361,7 @@ centerServiceDaoImpl.updateOrder(OrderDataFlowContextFactory.getNeedInvalidOrder(dataFlow)); //作废订单项 centerServiceDaoImpl.updateBusiness(OrderDataFlowContextFactory.getNeedDeleteBusiness(dataFlow,deleteBusinesses)); centerServiceDaoImpl.updateBusinessByBId(OrderDataFlowContextFactory.getNeedDeleteBusiness(dataFlow,deleteBusinesses)); //加入撤单记录 //doAddDeleteOrderBusinessData(dataFlow); service-order/src/main/java/com/java110/order/smo/impl/OIdServiceSMOImpl.java
@@ -245,7 +245,7 @@ param = new JSONObject(); JSONObject keyValue = afterValues.getJSONObject(preValueIndex); for (String key : keyValue.keySet()) { if (StringUtil.isEmpty(keyValue.getString(key))) { if (!StringUtil.isEmpty(keyValue.getString(key))) { sql += (" and " + key + "=" + keyValue.getString(key)); } } service-store/src/main/java/com/java110/store/api/PurchaseApi.java
@@ -54,7 +54,7 @@ purchaseApplyPo.setEndUserTel(reqJson.getString("endUserTel")); purchaseApplyPo.setStoreId(storeId); purchaseApplyPo.setResOrderType(PurchaseApplyDto.RES_ORDER_TYPE_ENTER); purchaseApplyPo.setState(PurchaseApplyDto.STATE_WAIT_DEAL); purchaseApplyPo.setState(PurchaseApplyDto.STATE_DEALING); JSONArray resourceStores = reqJson.getJSONArray("resourceStores"); service-store/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java
@@ -10,15 +10,17 @@ import com.java110.intf.user.IUserInnerServiceSMO; import com.java110.po.purchase.PurchaseApplyDetailPo; import com.java110.po.purchase.PurchaseApplyPo; import com.java110.po.purchase.ResourceStorePo; import com.java110.store.dao.IPurchaseApplyServiceDao; import com.java110.utils.util.BeanConvertUtil; import com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @ClassName FloorInnerServiceSMOImpl @@ -95,11 +97,14 @@ purchaseApplyDto.setPage((page - 1) * purchaseApplyDto.getRow()); } List<PurchaseApplyDto> purchaseApplys = purchaseApplyServiceDaoImpl.getPurchaseApplyInfo2(BeanConvertUtil.beanCovertMap(purchaseApplyDto)); List<PurchaseApplyDto> purchaseApplys = BeanConvertUtil.covertBeanList( purchaseApplyServiceDaoImpl.getPurchaseApplyInfo(BeanConvertUtil.beanCovertMap(purchaseApplyDto)), PurchaseApplyDto.class); if (purchaseApplys == null || purchaseApplys.size() == 0) { return purchaseApplys; } freshPurchaseApplyDetail(purchaseApplys); String[] userIds = getUserIds(purchaseApplys); //根据 userId 查询用户信息 @@ -111,6 +116,38 @@ return purchaseApplys; } private void freshPurchaseApplyDetail(List<PurchaseApplyDto> purchaseApplys) { List<String> applyOrderIds = new ArrayList<String>(); for (PurchaseApplyDto purchaseApplyDto : purchaseApplys) { applyOrderIds.add(purchaseApplyDto.getApplyOrderId()); } if (applyOrderIds.size() < 1) { return; } String[] tmpApplyOrderIds = applyOrderIds.toArray(new String[applyOrderIds.size()]); Map info = new HashMap<>(); info.put("applyOrderIds", tmpApplyOrderIds); List<Map> details = purchaseApplyServiceDaoImpl.getPurchaseApplyDetailInfo(info); List<PurchaseApplyDetailDto> purchaseApplyDetailDtos = BeanConvertUtil.covertBeanList(details, PurchaseApplyDetailDto.class); List<PurchaseApplyDetailDto> purchaseApplyDetailDtoList = null; for (PurchaseApplyDto purchaseApplyDto : purchaseApplys) { purchaseApplyDetailDtoList = new ArrayList<>(); for (PurchaseApplyDetailDto purchaseApplyDetailDto : purchaseApplyDetailDtos) { if (purchaseApplyDto.getApplyOrderId().equals(purchaseApplyDetailDto.getApplyOrderId())) { purchaseApplyDetailDtoList.add(purchaseApplyDetailDto); } } purchaseApplyDto.setPurchaseApplyDetailVo(BeanConvertUtil.covertBeanList(purchaseApplyDetailDtoList, PurchaseApplyDetailVo.class)); } } /** * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中 service-store/src/main/resources/application-dev.yml
@@ -64,6 +64,13 @@ maxActive: 20 username: TT feign: client: config: default: connect-timeout: 10000 read-timeout: 20000 #============== kafka =================== kafka: consumer: