Api/src/main/java/com/java110/api/listener/purchaseApply/ListPurchaseApplysListener.java
@@ -73,37 +73,22 @@ List<ApiPurchaseApplyDataVo> purchaseApplys = null; if (count > 0) { purchaseApplys = BeanConvertUtil.covertBeanList(purchaseApplyInnerServiceSMOImpl.queryPurchaseApplys(purchaseApplyDto), ApiPurchaseApplyDataVo.class); List<String> orderIds = new ArrayList<>(); for( ApiPurchaseApplyDataVo apiPurchaseApplyDataVo : purchaseApplys){ orderIds.add(apiPurchaseApplyDataVo.getApplyOrderId()); } //明细列表 PurchaseApplyDetailDto purchaseApplyDetailDto = new PurchaseApplyDetailDto(); purchaseApplyDetailDto.setApplyOrderIds(orderIds); List<PurchaseApplyDetailVo> purchaseApplyDetailVos = BeanConvertUtil.covertBeanList(purchaseApplyInnerServiceSMOImpl.queryPurchaseApplyDetails(purchaseApplyDetailDto), PurchaseApplyDetailVo.class); for( ApiPurchaseApplyDataVo apiPurchaseApplyDataVo : purchaseApplys){ List<PurchaseApplyDetailVo> applyDetailList = new ArrayList<>(); for( PurchaseApplyDetailVo purchaseApplyDetailVo : purchaseApplyDetailVos){ if(apiPurchaseApplyDataVo.getApplyOrderId().equals(purchaseApplyDetailVo.getApplyOrderId())){ applyDetailList.add(purchaseApplyDetailVo); } } apiPurchaseApplyDataVo.setPurchaseApplyDetailVo(applyDetailList); } List<PurchaseApplyDto> purchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplyAndDetails(purchaseApplyDto); purchaseApplys = BeanConvertUtil.covertBeanList(purchaseApplyDtos, ApiPurchaseApplyDataVo.class); for( ApiPurchaseApplyDataVo apiPurchaseApplyDataVo : purchaseApplys){ List<PurchaseApplyDetailVo> applyDetailList = apiPurchaseApplyDataVo.getPurchaseApplyDetailVo(); StringBuffer resNames = new StringBuffer(); BigDecimal totalPrice = new BigDecimal(0); for( PurchaseApplyDetailVo purchaseApplyDetailVo : applyDetailList){ resNames.append(purchaseApplyDetailVo.getResName()+";"); BigDecimal price = new BigDecimal(purchaseApplyDetailVo.getPrice()); BigDecimal quantity = new BigDecimal(purchaseApplyDetailVo.getQuantity()); totalPrice = totalPrice.add(price.multiply(quantity)); if(applyDetailList.size() > 0){ StringBuffer resNames = new StringBuffer(); BigDecimal totalPrice = new BigDecimal(0); for( PurchaseApplyDetailVo purchaseApplyDetailVo : applyDetailList){ resNames.append(purchaseApplyDetailVo.getResName()+";"); BigDecimal price = new BigDecimal(purchaseApplyDetailVo.getPrice()); BigDecimal quantity = new BigDecimal(purchaseApplyDetailVo.getQuantity()); totalPrice = totalPrice.add(price.multiply(quantity)); } apiPurchaseApplyDataVo.setResourceNames(resNames.toString()); apiPurchaseApplyDataVo.setTotalPrice(totalPrice.toString()); } apiPurchaseApplyDataVo.setResourceNames(resNames.toString()); apiPurchaseApplyDataVo.setTotalPrice(totalPrice.toString()); } } else { purchaseApplys = new ArrayList<>(); Api/src/main/java/com/java110/api/listener/purchaseApply/SavePurchaseApplyListener.java
@@ -6,15 +6,19 @@ import com.java110.api.listener.AbstractServiceApiListener; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.core.smo.purchaseApplyUser.IPurchaseApplyUserInnerServiceSMO; import com.java110.dto.purchaseApply.PurchaseApplyDto; import com.java110.entity.center.AppService; import com.java110.event.service.api.ServiceDataFlowEvent; import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.constant.CommonConstant; import com.java110.utils.constant.ServiceCodePurchaseApplyConstant; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; /** @@ -26,6 +30,8 @@ @Autowired private IPurchaseApplyBMO purchaseApplyBMOImpl; @Autowired private IPurchaseApplyUserInnerServiceSMO iPurchaseApplyUserInnerServiceSMO; @Override protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "resourceStores", "必填,请填写申请采购的物资"); @@ -49,6 +55,12 @@ ResponseEntity<String> responseEntity = purchaseApplyBMOImpl.callService(context, service.getServiceCode(), businesses); //开始流程 // if(HttpStatus.OK == responseEntity.getStatusCode()){ // PurchaseApplyDto purchaseApplyDto = BeanConvertUtil.covertBean(reqJson, PurchaseApplyDto.class); // purchaseApplyDto.setCurrentUserId(reqJson.getString("userId")); // iPurchaseApplyUserInnerServiceSMO.startProcess(purchaseApplyDto); // } context.setResponseEntity(responseEntity); } CommonService/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java
New file @@ -0,0 +1,306 @@ package com.java110.common.smo.impl; import com.java110.core.base.smo.BaseServiceSMO; import com.java110.core.smo.complaint.IComplaintInnerServiceSMO; import com.java110.core.smo.purchaseApplyUser.IPurchaseApplyUserInnerServiceSMO; import com.java110.dto.PageDto; import com.java110.dto.auditMessage.AuditMessageDto; import com.java110.dto.purchaseApply.PurchaseApplyDto; import com.java110.entity.audit.AuditUser; import com.java110.utils.util.Assert; import com.java110.utils.util.StringUtil; 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.HistoricProcessInstance; import org.activiti.engine.history.HistoricTaskInstance; import org.activiti.engine.history.HistoricTaskInstanceQuery; 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; import org.activiti.engine.task.TaskQuery; 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; @RestController public class PurchaseApplyUserInnerServiceSMOImpl extends BaseServiceSMO implements IPurchaseApplyUserInnerServiceSMO { @Autowired private ProcessEngine processEngine; @Autowired private RuntimeService runtimeService; @Autowired private TaskService taskService; @Autowired private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl; /** * 启动流程 * * @return */ public PurchaseApplyDto startProcess(@RequestBody PurchaseApplyDto purchaseApplyDto) { //将信息加入map,以便传入流程中 Map<String, Object> variables = new HashMap<String, Object>(); variables.put("purchaseApplyDto", purchaseApplyDto); variables.put("userId", purchaseApplyDto.getCurrentUserId()); //开启流程 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("resourceEntry", purchaseApplyDto.getApplyOrderId(), variables); //将得到的实例流程id值赋给之前设置的变量 String processInstanceId = processInstance.getId(); // System.out.println("流程开启成功.......实例流程id:" + processInstanceId); purchaseApplyDto.setProcessInstanceId(processInstanceId); //第一个节点自动提交 autoFinishFirstTask(purchaseApplyDto); return purchaseApplyDto; } /** * 自动提交第一步 */ private void autoFinishFirstTask(PurchaseApplyDto purchaseApplyDto) { Task task = null; TaskQuery query = taskService.createTaskQuery().taskCandidateOrAssigned(purchaseApplyDto.getCurrentUserId()).active(); List<Task> todoList = query.list();//获取申请人的待办任务列表 for (Task tmp : todoList) { if (tmp.getProcessInstanceId().equals(purchaseApplyDto.getProcessInstanceId())) { task = tmp;//获取当前流程实例,当前申请人的待办任务 break; } } Assert.notNull(task, "未找到当前用户任务userId = " + purchaseApplyDto.getCurrentUserId()); purchaseApplyDto.setTaskId(task.getId()); purchaseApplyDto.setAuditCode("10000"); purchaseApplyDto.setAuditMessage("提交"); completeTask(purchaseApplyDto); } /** * 查询用户任务数 * * @param user * @return */ public long getUserTaskCount(@RequestBody AuditUser user) { TaskService taskService = processEngine.getTaskService(); TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEnter"); query.taskAssignee(user.getUserId()); return query.count(); } /** * 获取用户任务 * * @param user 用户信息 */ public List<PurchaseApplyDto> getUserTasks(@RequestBody AuditUser user) { TaskService taskService = processEngine.getTaskService(); TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEnter"); ; query.taskAssignee(user.getUserId()); query.orderByTaskCreateTime().desc(); List<Task> list = null; if (user.getPage() != PageDto.DEFAULT_PAGE) { list = query.listPage((user.getPage() - 1) * user.getRow(), user.getRow()); } else { list = query.list(); } List<String> complaintIds = new ArrayList<>(); Map<String, String> taskBusinessKeyMap = new HashMap<>(); for (Task task : list) { String processInstanceId = task.getProcessInstanceId(); //3.使用流程实例,查询 ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); //4.使用流程实例对象获取BusinessKey String business_key = pi.getBusinessKey(); complaintIds.add(business_key); taskBusinessKeyMap.put(business_key, task.getId()); } if (complaintIds == null || complaintIds.size() == 0) { return new ArrayList<>(); } //查询 投诉信息 PurchaseApplyDto purchaseApplyDto = new PurchaseApplyDto(); List<PurchaseApplyDto> purchaseApplyDtos = new ArrayList<>(); // 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); // // for (ComplaintDto tmpComplaintDto : tmpComplaintDtos) { // tmpComplaintDto.setTaskId(taskBusinessKeyMap.get(tmpComplaintDto.getComplaintId())); // } return purchaseApplyDtos; } /** * 查询用户任务数 * * @param user * @return */ public long getUserHistoryTaskCount(@RequestBody AuditUser user) { HistoryService historyService = processEngine.getHistoryService(); // Query query = historyService.createHistoricTaskInstanceQuery() // .processDefinitionKey("complaint") // .taskAssignee(user.getUserId()); HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() .processDefinitionKey("resourceEnter") .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"); } Query query = historicTaskInstanceQuery; return query.count(); } /** * 获取用户审批的任务 * * @param user 用户信息 */ public List<PurchaseApplyDto> getUserHistoryTasks(@RequestBody AuditUser user) { HistoryService historyService = processEngine.getHistoryService(); HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() .processDefinitionKey("resourceEnter") .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"); } Query query = historicTaskInstanceQuery.orderByHistoricTaskInstanceStartTime().desc(); List<HistoricTaskInstance> list = null; if (user.getPage() != PageDto.DEFAULT_PAGE) { list = query.listPage((user.getPage() - 1) * user.getRow(), user.getRow()); } else { list = query.list(); } List<String> complaintIds = new ArrayList<>(); 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); } //查询 投诉信息 // 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; } public boolean completeTask(@RequestBody PurchaseApplyDto purchaseApplyDto) { TaskService taskService = processEngine.getTaskService(); Task task = taskService.createTaskQuery().taskId(purchaseApplyDto.getTaskId()).singleResult(); String processInstanceId = task.getProcessInstanceId(); Authentication.setAuthenticatedUserId(purchaseApplyDto.getCurrentUserId()); taskService.addComment(purchaseApplyDto.getTaskId(), processInstanceId, purchaseApplyDto.getAuditMessage()); Map<String, Object> variables = new HashMap<String, Object>(); variables.put("auditCode", purchaseApplyDto.getAuditCode()); variables.put("currentUserId", purchaseApplyDto.getCurrentUserId()); //taskService.setAssignee(complaintDto.getTaskId(),complaintDto.getCurrentUserId()); //taskService.addCandidateUser(complaintDto.getTaskId(), complaintDto.getCurrentUserId()); //taskService.claim(complaintDto.getTaskId(), complaintDto.getCurrentUserId()); taskService.complete(purchaseApplyDto.getTaskId(), variables); ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); if (pi == null) { return true; } return false; } public List<AuditMessageDto> getAuditMessage(@RequestBody PurchaseApplyDto purchaseApplyDto) { TaskService taskService = processEngine.getTaskService(); Task task = taskService.createTaskQuery().taskId(purchaseApplyDto.getTaskId()).singleResult(); String processInstanceId = task.getProcessInstanceId(); List<Comment> comments = taskService.getProcessInstanceComments(processInstanceId); List<AuditMessageDto> auditMessageDtos = new ArrayList<>(); if (comments == null || comments.size() < 1) { return auditMessageDtos; } AuditMessageDto messageDto = null; for (Comment comment : comments) { messageDto = new AuditMessageDto(); messageDto.setCreateTime(comment.getTime()); messageDto.setUserId(comment.getUserId()); messageDto.setMessage(comment.getFullMessage()); } return auditMessageDtos; } public ProcessEngine getProcessEngine() { return processEngine; } public void setProcessEngine(ProcessEngine processEngine) { this.processEngine = processEngine; } public RuntimeService getRuntimeService() { return runtimeService; } public void setRuntimeService(RuntimeService runtimeService) { this.runtimeService = runtimeService; } public TaskService getTaskService() { return taskService; } public void setTaskService(TaskService taskService) { this.taskService = taskService; } public IComplaintInnerServiceSMO getComplaintInnerServiceSMOImpl() { return complaintInnerServiceSMOImpl; } public void setComplaintInnerServiceSMOImpl(IComplaintInnerServiceSMO complaintInnerServiceSMOImpl) { this.complaintInnerServiceSMOImpl = complaintInnerServiceSMOImpl; } } StoreService/src/main/java/com/java110/store/dao/IPurchaseApplyServiceDao.java
@@ -1,6 +1,7 @@ package com.java110.store.dao; import com.java110.dto.purchaseApply.PurchaseApplyDto; import com.java110.utils.exception.DAOException; import com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo; @@ -68,6 +69,8 @@ */ List<Map> getPurchaseApplyInfo(Map info) throws DAOException; List<PurchaseApplyDto> getPurchaseApplyInfo2(Map info) throws DAOException; //查询采购明细 List<Map> getPurchaseApplyDetailInfo(Map info) throws DAOException; StoreService/src/main/java/com/java110/store/dao/impl/PurchaseApplyServiceDaoImpl.java
@@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONObject; import com.java110.core.base.dao.BaseServiceDao; import com.java110.dto.purchaseApply.PurchaseApplyDto; import com.java110.store.dao.IPurchaseApplyServiceDao; import com.java110.utils.constant.ResponseConstant; import com.java110.utils.exception.DAOException; @@ -119,6 +120,15 @@ } @Override public List<PurchaseApplyDto> getPurchaseApplyInfo2(Map info) throws DAOException { logger.debug("查询采购申请信息 入参 info : {}",info); List<PurchaseApplyDto> businessPurchaseApplyInfos = sqlSessionTemplate.selectList("purchaseApplyServiceDaoImpl.getPurchaseApplyInfo2",info); return businessPurchaseApplyInfos; } @Override public List<Map> getPurchaseApplyDetailInfo(Map info) throws DAOException { logger.debug("查询采购申请明细信息 入参 info : {}",info); StoreService/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java
@@ -61,6 +61,34 @@ return purchaseApplys; } @Override public List<PurchaseApplyDto> queryPurchaseApplyAndDetails(@RequestBody PurchaseApplyDto purchaseApplyDto) { //校验是否传了 分页信息 int page = purchaseApplyDto.getPage(); if (page != PageDto.DEFAULT_PAGE) { purchaseApplyDto.setPage((page - 1) * purchaseApplyDto.getRow()); } List<PurchaseApplyDto> purchaseApplys = BeanConvertUtil.covertBeanList(purchaseApplyServiceDaoImpl.getPurchaseApplyInfo2(BeanConvertUtil.beanCovertMap(purchaseApplyDto)), PurchaseApplyDto.class); if (purchaseApplys == null || purchaseApplys.size() == 0) { return purchaseApplys; } String[] userIds = getUserIds(purchaseApplys); //根据 userId 查询用户信息 List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds); for (PurchaseApplyDto purchaseApply : purchaseApplys) { refreshPurchaseApply(purchaseApply, users); } return purchaseApplys; } /** * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中 * StoreService/src/main/resources/application-dev.yml
@@ -7,7 +7,7 @@ host: dev.redis.java110.com port: 6379 timeout: 3000 password: password: hc eureka: instance: @@ -36,6 +36,7 @@ database: 0 host: dev.redis.java110.com port: 6379 password: hc pool: max-active: 300 max-wait: 10000 java110-bean/src/main/java/com/java110/dto/purchaseApply/PurchaseApplyDto.java
@@ -1,9 +1,11 @@ package com.java110.dto.purchaseApply; import com.java110.dto.PageDto; import com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo; import java.io.Serializable; import java.util.Date; import java.util.List; /** * @ClassName FloorDto @@ -18,16 +20,24 @@ private String resOrderType; private String description; private String applyOrderId; private String bId; private String state; private String storeId; private String userName; private String userId; private String stateName; private List<PurchaseApplyDetailVo> purchaseApplyDetailVo; private Date createTime; private String statusCd = "0"; private String currentUserId; private String processInstanceId; private String taskId; private String auditCode; private String auditMessage; @@ -111,4 +121,60 @@ public void setStateName(String stateName) { this.stateName = stateName; } public String getCurrentUserId() { return currentUserId; } public void setCurrentUserId(String currentUserId) { this.currentUserId = currentUserId; } public String getProcessInstanceId() { return processInstanceId; } public void setProcessInstanceId(String processInstanceId) { this.processInstanceId = processInstanceId; } public String getTaskId() { return taskId; } public void setTaskId(String taskId) { this.taskId = taskId; } public String getAuditCode() { return auditCode; } public void setAuditCode(String auditCode) { this.auditCode = auditCode; } public String getAuditMessage() { return auditMessage; } public void setAuditMessage(String auditMessage) { this.auditMessage = auditMessage; } public List<PurchaseApplyDetailVo> getPurchaseApplyDetailVo() { return purchaseApplyDetailVo; } public void setPurchaseApplyDetailVo(List<PurchaseApplyDetailVo> purchaseApplyDetailVo) { this.purchaseApplyDetailVo = purchaseApplyDetailVo; } public String getbId() { return bId; } public void setbId(String bId) { this.bId = bId; } } java110-bean/src/main/java/com/java110/vo/api/purchaseApply/PurchaseApplyDetailVo.java
@@ -15,6 +15,7 @@ private List<String> applyOrderIds; private String bId; private String operate; private String id; public String getApplyOrderId() { @@ -104,6 +105,14 @@ public void setOperate(String operate) { this.operate = operate; } public String getId() { return id; } public void setId(String id) { this.id = id; } } java110-core/src/main/java/com/java110/core/smo/purchaseApply/IPurchaseApplyInnerServiceSMO.java
@@ -32,6 +32,10 @@ @RequestMapping(value = "/queryPurchaseApplys", method = RequestMethod.POST) List<PurchaseApplyDto> queryPurchaseApplys(@RequestBody PurchaseApplyDto purchaseApplyDto); @RequestMapping(value = "/queryPurchaseApplyAndDetails", method = RequestMethod.POST) List<PurchaseApplyDto> queryPurchaseApplyAndDetails(@RequestBody PurchaseApplyDto purchaseApplyDto); /** * 查询<p>小区楼</p>总记录数 * java110-core/src/main/java/com/java110/core/smo/purchaseApplyUser/IPurchaseApplyUserInnerServiceSMO.java
New file @@ -0,0 +1,74 @@ package com.java110.core.smo.purchaseApplyUser; import com.java110.core.feign.FeignConfiguration; import com.java110.dto.auditMessage.AuditMessageDto; import com.java110.dto.purchaseApply.PurchaseApplyDto; import com.java110.entity.audit.AuditUser; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import java.util.List; @FeignClient(name = "common-service", configuration = {FeignConfiguration.class}) @RequestMapping("/purchaseApplyUserApi") public interface IPurchaseApplyUserInnerServiceSMO { /** * 启动流程 * * @return */ @RequestMapping(value = "/startProcess", method = RequestMethod.POST) public PurchaseApplyDto startProcess(@RequestBody PurchaseApplyDto purchaseApplyDto); /** * 查询用户任务数 * * @param user * @return */ @RequestMapping(value = "/getUserTaskCount", method = RequestMethod.POST) public long getUserTaskCount(@RequestBody AuditUser user); /** * 获取用户任务 * * @param user 用户信息 */ @RequestMapping(value = "/getUserTasks", method = RequestMethod.POST) public List<PurchaseApplyDto> 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<PurchaseApplyDto> getUserHistoryTasks(@RequestBody AuditUser user); /** * 处理任务 * @return true 为流程结束 false 为流程没有结束 */ @RequestMapping(value = "/completeTask", method = RequestMethod.POST) public boolean completeTask(@RequestBody PurchaseApplyDto purchaseApplyDto); /** * 查询批注信息 * @return */ @RequestMapping(value = "/getAuditMessage", method = RequestMethod.POST) public List<AuditMessageDto> getAuditMessage(@RequestBody PurchaseApplyDto purchaseApplyDto); } java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
@@ -4,6 +4,33 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="purchaseApplyServiceDaoImpl"> <resultMap type="com.java110.dto.purchaseApply.PurchaseApplyDto" id="applyMap"> <id column="applyOrderId" property="applyOrderId"/> <result column="description" property="description"/> <result column="resOrderType" property="resOrderType"/> <result column="statusCd" property="statusCd"/> <result column="state" property="state"/> <result column="storeId" property="storeId"/> <result column="userName" property="userName"/> <result column="bId" property="bId"/> <result column="userId" property="userId"/> <result column="createTime" property="createTime"/> <result column="stateName" property="stateName"/> <!-- 一对多关系 --> <collection property="purchaseApplyDetailVo" ofType="com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo" javaType="java.util.ArrayList"> <id property="id" column="id"/> <result property="applyOrderId" column="applyOrderId"/> <result property="resId" column="resId"/> <result property="quantity" column="quantity"/> <result property="resName" column="resName"/> <result property="remark" column="remark"/> <result property="resCode" column="resCode"/> <result property="price" column="price"/> <result property="stock" column="stock"/> </collection> </resultMap> <!-- 保存采购申请信息 add by wuxw 2018-07-03 --> <insert id="saveBusinessPurchaseApplyInfo" parameterType="Map"> insert into business_purchase_apply @@ -144,8 +171,9 @@ t.res_order_type resOrderType,t.description, t.apply_order_id applyOrderId,t.status_cd statusCd,t.state, t.store_id storeId,t.user_name userName, t.b_id bId,t.user_id userId,t.create_time createTime,d.name stateName 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' t.b_id bId,t.user_id userId,t.create_time createTime,d.name stateName, 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 <if test="resOrderType !=null and resOrderType != ''"> and t.res_order_type= #{resOrderType} @@ -179,6 +207,52 @@ </select> <select id="getPurchaseApplyInfo2" parameterType="Map" resultMap="applyMap"> select t.res_order_type resOrderType,t.description, t.apply_order_id applyOrderId,t.status_cd statusCd,t.state, t.store_id storeId,t.user_name userName, t.b_id bId,t.user_id userId,t.create_time createTime,d.name stateName, de.apply_order_id applyOrderId,de.res_id resId,de.quantity,de.remark,de.id,rs.res_name resName,rs.price,rs.stock,rs.res_code resCode 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' inner join purchase_apply_detail de on de.apply_order_id = t.apply_order_id inner join resource_store rs on de.res_id = rs.res_id where 1 =1 <if test="resOrderType !=null and resOrderType != ''"> and t.res_order_type= #{resOrderType} </if> <if test="description !=null and description != ''"> and t.description= #{description} </if> <if test="applyOrderId !=null and applyOrderId != ''"> and t.apply_order_id= #{applyOrderId} </if> <if test="userName !=null and userName != ''"> and t.user_name like concat('%',#{userName},'%') </if> <if test="statusCd !=null and statusCd != ''"> and t.status_cd= #{statusCd} </if> <if test="state !=null and state != ''"> and t.state= #{state} </if> <if test="storeId !=null and storeId != ''"> and t.store_id= #{storeId} </if> <if test="bId !=null and bId != ''"> and t.b_id= #{bId} </if> order by t.create_time desc <if test="page != -1 and page != null "> limit #{page}, #{row} </if> </select> <!-- 查询采购明细 --> <select id="getPurchaseApplyDetailInfo" parameterType="Map" resultType="Map"> select