ApplyPickServiceImpl.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package com.iamberry.rst.service.approval;
  2. import com.github.pagehelper.PageHelper;
  3. import com.iamberry.rst.core.approval.ApprovalApplyPick;
  4. import com.iamberry.rst.core.approval.ApprovalInfo;
  5. import com.iamberry.rst.core.approval.HistoricalRecord;
  6. import com.iamberry.rst.core.approval.ProcessInfo;
  7. import com.iamberry.rst.core.order.OrderBatch;
  8. import com.iamberry.rst.core.page.PageRequest;
  9. import com.iamberry.rst.core.page.PagedResult;
  10. import com.iamberry.rst.core.sys.Admin;
  11. import com.iamberry.rst.faces.approval.ApplyPickService;
  12. import com.iamberry.rst.service.approval.mapper.ApplyPickItemMapper;
  13. import com.iamberry.rst.service.approval.mapper.ApplyPickMapper;
  14. import com.iamberry.rst.service.approval.mapper.ApprovalOrderMapper;
  15. import com.iamberry.rst.service.sys.mapper.SysMapper;
  16. import com.iamberry.rst.util.PageUtil;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import java.util.Date;
  21. import java.util.List;
  22. import java.util.Map;
  23. /**
  24. * 提货申请信息接口
  25. * @author
  26. * @Date 2018-09-19
  27. */
  28. @Service
  29. public class ApplyPickServiceImpl implements ApplyPickService {
  30. @Autowired
  31. private ApplyPickMapper applyPickMapper;
  32. @Autowired
  33. private ApplyPickItemMapper applyPickItemMapper;
  34. @Autowired
  35. private SysMapper sysMapper;
  36. @Autowired
  37. private ApprovalOrderMapper approvalOrderMapper;
  38. /**
  39. * 获取集合
  40. * @param approvalApplyPick
  41. * @return List
  42. */
  43. @Override
  44. public List<ApprovalApplyPick> getApprovalApplyPickList(ApprovalApplyPick approvalApplyPick){
  45. return applyPickMapper.getApprovalApplyPickList(approvalApplyPick);
  46. }
  47. @Override
  48. public PagedResult<ApprovalApplyPick> listOrderBatchPage(int pageNO, int pageSize, ApprovalApplyPick approvalApplyPick, boolean isTotalNum) {
  49. PageHelper.startPage(pageNO, pageSize, isTotalNum);
  50. List<ApprovalApplyPick> list = applyPickMapper.listOrderBatchPage(approvalApplyPick);
  51. return PageUtil.getPage(list);
  52. }
  53. /**
  54. * 查询单条数据
  55. * @param id
  56. * @return approvalApplyPick
  57. */
  58. @Override
  59. public ApprovalApplyPick getApprovalApplyPickById(Integer id){
  60. return applyPickMapper.getApprovalApplyPickById(id);
  61. }
  62. /**
  63. * 增加数据
  64. * @param approvalApplyPick
  65. * @return Integer
  66. */
  67. @Override
  68. @Transactional
  69. public Integer save(ApprovalApplyPick approvalApplyPick, String openid, Map<String, Object> tasknfo){
  70. Integer flag = applyPickMapper.save(approvalApplyPick);
  71. if(flag < 1){
  72. throw new RuntimeException("添加提货失败");
  73. }
  74. flag = applyPickItemMapper.saveList(approvalApplyPick.getListApplyPickItem());
  75. if(flag < 1){
  76. throw new RuntimeException("添加提货项失败");
  77. }
  78. Admin admin = sysMapper.getByOpenid(openid);
  79. //添加审批信息
  80. ApprovalInfo approvalInfo = new ApprovalInfo();
  81. approvalInfo.setApprovalName(admin.getAdminName()+"的审批订单");
  82. approvalInfo.setApprovalType(1);
  83. approvalInfo.setApprovalStatus(1);
  84. approvalInfo.setAdminId(admin.getAdminId());
  85. approvalInfo.setApprovalApplicant(approvalApplyPick.getApplyPickName());
  86. approvalInfo.setActivitiId(tasknfo.get("key").toString());
  87. approvalInfo.setApprovalDetails("html内容");
  88. approvalInfo.setApprovalRemark(approvalApplyPick.getApplyPickRemk());
  89. int returnValue = approvalOrderMapper.insertApprovalInfo(approvalInfo);
  90. if(returnValue < 1){
  91. throw new RuntimeException("添加审批信息失败");
  92. }
  93. //添加审批历史记录
  94. ApprovalInfo info = new ApprovalInfo();
  95. info.setApprovalId(approvalInfo.getApprovalId());
  96. if(tasknfo.get("users") == null){
  97. throw new RuntimeException("获取下一个审批人信息失败"+tasknfo);
  98. }
  99. String[] split = (String[])tasknfo.get("users");
  100. for (String name : split){
  101. //通过name查询管理员id
  102. Admin approvalAdmin = sysMapper.getByName(name);
  103. if(approvalAdmin == null){
  104. throw new RuntimeException("获取下一个审批管理员信息失败"+tasknfo);
  105. }
  106. HistoricalRecord recordInfo = new HistoricalRecord();
  107. recordInfo.setApprovalId(approvalInfo.getApprovalId());
  108. recordInfo.setAdminId(approvalAdmin.getAdminId());
  109. recordInfo.setRecordState(1);
  110. recordInfo.setTaskId(tasknfo.get("taskId").toString());
  111. recordInfo.setApprovalTime(new Date());
  112. if(approvalOrderMapper.insertHistoricalRecord(recordInfo) < 1){
  113. throw new RuntimeException("添加历史审批信息失败"+tasknfo);
  114. }
  115. //修改审核信息表
  116. info.setApprovalStatusDetails("待"+name+"审批");
  117. if(approvalOrderMapper.updateApprovalInfo(info) < 1){
  118. throw new RuntimeException("修改审批信息失败"+tasknfo);
  119. }
  120. }
  121. return flag;
  122. }
  123. /**
  124. * 修改数据
  125. * @param approvalApplyPick
  126. * @return Integer
  127. */
  128. @Override
  129. public Integer update(ApprovalApplyPick approvalApplyPick){
  130. return applyPickMapper.update(approvalApplyPick);
  131. }
  132. }