package com.iamberry.rst.service.approval; import com.github.pagehelper.PageHelper; import com.iamberry.rst.core.approval.ApprovalApplyPick; import com.iamberry.rst.core.approval.ApprovalInfo; import com.iamberry.rst.core.approval.HistoricalRecord; import com.iamberry.rst.core.approval.ProcessInfo; import com.iamberry.rst.core.order.OrderBatch; import com.iamberry.rst.core.page.PageRequest; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.sys.Admin; import com.iamberry.rst.faces.approval.ApplyPickService; import com.iamberry.rst.service.approval.mapper.ApplyPickItemMapper; import com.iamberry.rst.service.approval.mapper.ApplyPickMapper; import com.iamberry.rst.service.approval.mapper.ApprovalOrderMapper; import com.iamberry.rst.service.sys.mapper.SysMapper; import com.iamberry.rst.util.PageUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; import java.util.Map; /** * 提货申请信息接口 * @author * @Date 2018-09-19 */ @Service public class ApplyPickServiceImpl implements ApplyPickService { @Autowired private ApplyPickMapper applyPickMapper; @Autowired private ApplyPickItemMapper applyPickItemMapper; @Autowired private SysMapper sysMapper; @Autowired private ApprovalOrderMapper approvalOrderMapper; /** * 获取集合 * @param approvalApplyPick * @return List */ @Override public List getApprovalApplyPickList(ApprovalApplyPick approvalApplyPick){ return applyPickMapper.getApprovalApplyPickList(approvalApplyPick); } @Override public PagedResult listOrderBatchPage(int pageNO, int pageSize, ApprovalApplyPick approvalApplyPick, boolean isTotalNum) { PageHelper.startPage(pageNO, pageSize, isTotalNum); List list = applyPickMapper.listOrderBatchPage(approvalApplyPick); return PageUtil.getPage(list); } /** * 查询单条数据 * @param id * @return approvalApplyPick */ @Override public ApprovalApplyPick getApprovalApplyPickById(Integer id){ return applyPickMapper.getApprovalApplyPickById(id); } /** * 增加数据 * @param approvalApplyPick * @return Integer */ @Override @Transactional public Integer save(ApprovalApplyPick approvalApplyPick, String openid, Map tasknfo){ Integer flag = applyPickMapper.save(approvalApplyPick); if(flag < 1){ throw new RuntimeException("添加提货失败"); } flag = applyPickItemMapper.saveList(approvalApplyPick.getListApplyPickItem()); if(flag < 1){ throw new RuntimeException("添加提货项失败"); } Admin admin = sysMapper.getByOpenid(openid); //添加审批信息 ApprovalInfo approvalInfo = new ApprovalInfo(); approvalInfo.setApprovalName(admin.getAdminName()+"的审批订单"); approvalInfo.setApprovalType(1); approvalInfo.setApprovalStatus(1); approvalInfo.setAdminId(admin.getAdminId()); approvalInfo.setApprovalApplicant(approvalApplyPick.getApplyPickName()); approvalInfo.setActivitiId(tasknfo.get("key").toString()); approvalInfo.setApprovalDetails("html内容"); approvalInfo.setApprovalRemark(approvalApplyPick.getApplyPickRemk()); int returnValue = approvalOrderMapper.insertApprovalInfo(approvalInfo); if(returnValue < 1){ throw new RuntimeException("添加审批信息失败"); } //添加审批历史记录 ApprovalInfo info = new ApprovalInfo(); info.setApprovalId(approvalInfo.getApprovalId()); if(tasknfo.get("users") == null){ throw new RuntimeException("获取下一个审批人信息失败"+tasknfo); } String[] split = (String[])tasknfo.get("users"); for (String name : split){ //通过name查询管理员id Admin approvalAdmin = sysMapper.getByName(name); if(approvalAdmin == null){ throw new RuntimeException("获取下一个审批管理员信息失败"+tasknfo); } HistoricalRecord recordInfo = new HistoricalRecord(); recordInfo.setApprovalId(approvalInfo.getApprovalId()); recordInfo.setAdminId(approvalAdmin.getAdminId()); recordInfo.setRecordState(1); recordInfo.setTaskId(tasknfo.get("taskId").toString()); recordInfo.setApprovalTime(new Date()); if(approvalOrderMapper.insertHistoricalRecord(recordInfo) < 1){ throw new RuntimeException("添加历史审批信息失败"+tasknfo); } //修改审核信息表 info.setApprovalStatusDetails("待"+name+"审批"); if(approvalOrderMapper.updateApprovalInfo(info) < 1){ throw new RuntimeException("修改审批信息失败"+tasknfo); } } return flag; } /** * 修改数据 * @param approvalApplyPick * @return Integer */ @Override public Integer update(ApprovalApplyPick approvalApplyPick){ return applyPickMapper.update(approvalApplyPick); } }